2012-12-21 31 views
2

當標記被拖到某點時,我想讓標記的信息窗口顯示。 我想讓地址出現在裏面。 我logcat中給了我正確的地址,以便能正常工作,但信息窗口不顯示結束拖動時標記顯示信息窗口

這裏是我的代碼

private void placeMarker() { 
    getMap().addMarker(new MarkerOptions() 
      .position(getMyLocation()) 
      .draggable(true) 
      .snippet("") 
      .title("")); 
    getMap().setOnMarkerDragListener(new OnMarkerDragListener() { 

     public void onMarkerDragStart(Marker arg0) { 
      // TODO Auto-generated method stub 

     } 

     public void onMarkerDragEnd(Marker marker) { 
      latLng = marker.getPosition(); 
      marker.setSnippet("Loading address..."); 
      marker.showInfoWindow(); 

      Geocoder geoCoder = new Geocoder(getActivity(), Locale.getDefault()); 
      try { 
       address = geoCoder.getFromLocation(latLng.latitude, latLng.longitude, 1).get(0); 
       String addressString = address.getAddressLine(0); 
       addressString += "\n"+address.getAddressLine(1); 
       marker.setSnippet(addressString); 
       marker.showInfoWindow(); 

       Log.d("get address pinpoint", "drag end: " + addressString+ " shown:" + marker.isVisible()); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 


     } 

     public void onMarkerDrag(Marker arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 

} 

回答

1

您需要非空的標題顯示默認的信息窗口。

變化marker.setSnippet(addressString);marker.setTitle(addressString);

補充說明:在UI線程從未呼叫阻塞代碼。 geoCoder.getFromLocation在內部調用webservice。

0

您可以使用marker.showInfoWindow();