MapActivity가 있습니다. 트래픽을보기 위해 적절한 위치와 확대/축소 수준으로 설정되어있는 경우 교통 정보가 표시되는 지점에서지도와 상호 작용할 때까지 아무 것도 표시되지 않습니다 (클릭, 드래그 등). 당연히 나는 트래픽이로드 된 후에도 사용자 상호 작용없이 트래픽이 나타나기를 원합니다. 그러나 트래픽을 트리거하는 방법을 파악할 수 없었습니다. 어떤 아이디어?Android 1.6 MapView는 사용자가지도와 상호 작용할 때까지 트래픽을 표시하지 않습니다.
내 MapActivity 상속 클래스에서: R.layout.map
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="...MY API KEY HERE..."
/>
</RelativeLayout>
당신의 제안에 나는 이것을 또 한번 시도했다. mapView.postInvalidateDelayed (5000)를 배치했습니다. 이 액티비티에 대해 OnStart()를 실행하고 디버그 모드에서 적중을 확인한 다음 앉아서 30 초 동안 트래픽이 표시 될 때까지 기다렸습니다. 아무런 효과가없는 것처럼 보였습니다. – Brian
사실 당신은 맞습니다. 지도가 완전히 렌더링 된 후 지연이 시작되면 지연이 실제로 작동 한 후 postInvalidate. 첫 번째 렌더링이 완료되기 전에 실행되면 아무 일도 일어나지 않습니다. cheezy 테스트 수정 postInvalidateDelayed가 (아마도 UI 스레드에서 해고했기 때문에) postInvalidateDelayed가 작동하지 않는 것 같아서 onCreate에서 작동 했나요? 어쨌든지도가 <1000ms에서 렌더링되는 경우 작동합니다. 타이머 타이머 = 새로운 타이머(); timer.schedule (new TimerTask() { @Override public void run() {mapView.postInvalidate();} }, 1000); – Brian