2016-07-11 2 views
0

Ich mache eine App mit einer Google Maps-Aktivität und möchte dort einen Marker platzieren. Wie setze ich einen Marker auf einen Ort, zum Beispiel das Weiße Haus, so dass er in Google Maps die Info-Seite öffnet, wenn man in der rechten Ecke den Karten-Button drückt? Mein Code:Wie mache ich einen Marker an einem Ort in Google Maps Activity?

LatLng latLng = new LatLng(38.897677, -77.036531); 
    mMap.addMarker(new MarkerOptions().position(latLng).title("The White House")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

Antwort

0

Sie möchten also Ihre App nach Orten suchen? Versuchen Sie Geocoding. Hier ist meine Super vereinfachte Suchmethode:

public void onSearch(String searchLocation) { 
    mGoogleMap.clear(); 
    List<Address> addressList = null; 
    Address address = null; 
    LatLng latLng = null; 

    Geocoder geocoder = new Geocoder(mContext); 
    try { 
     addressList = geocoder.getFromLocationName(searchLocation, 1); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    address = addressList.get(0); 
    latLng = new LatLng(address.getLatitude(), address.getLongitude()); 
    mGoogleMap.addMarker(new MarkerOptions().position(latLng).title(searchLocation)); 
    mGoogleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng)); 
} 
+0

Wie kann ich die mContext bekommen? –

+0

Das ist mein privater Kontext. Sie können es einfach ersetzen, wenn Sie es in eine Aktivität einfügen oder es als Parameter angeben. Ich kann die Antwort ändern, die Sie bevorzugen. – klutch

1

Hier ist die Antwort auf Ihre Frage, was ich wahrgenommen habe, dass tatsächlich Sie will einen Klick Zuhörer implementieren.

Es gibt zwei Möglichkeiten, es zu tun

mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() { 
     @Override 
     public void onInfoWindowClick(Marker marker) { 
      Toast.makeText(StoreMap.this, "Info window clicked", Toast.LENGTH_SHORT).show(); 
    } 

oder diese benutzen, wenn Sie Direkt Benutzer beabsichtigen, werden nur durch auf Marker klicken.

GoogleMap.setOnMarkerClickListener(OnMarkerClickListener)

implementieren ebenso ähnlich wie oben more details

Verwandte Themen