2016-04-06 5 views
0

Ich bin auf der Suche nach einem Weg, um die lat & lange, wenn ich auf die Karte klicken. Danach fügen Sie Marker an dieser Position hinzu. Hier ist mein Code:C# Android: googlemaps onclick erhalten Sie die lat und lange

public void OnMapReady(GoogleMap googleMap) 
    { 
     mMap = googleMap; 
     mMap.MoveCamera(CameraUpdateFactory.NewLatLngZoom(new LatLng(-6.156445, 106.841790), 10)); 
     mMap.AddMarker(new MarkerOptions().SetPosition(new LatLng(-6.156445, 106.841790)).SetTitle("Kino")); 
     mMap.AddMarker(new MarkerOptions().SetPosition(new LatLng(-6.166685, 106.728294)).SetTitle("OT")); 
     mMap.AddMarker(new MarkerOptions().SetPosition(new LatLng(-6.155592, 106.679585)).SetTitle("Mayora")); 
     mMap.MapClick += delegate 
     { 
      //mMap.AddMarker here with pointed lat & long 
     }; 
    } 

Ist es möglich, setzen die lat & lange in den Titel des Markers? Wenn nicht, ist es auch OK, es in einer Textansicht anzuzeigen. Vielen Dank im Voraus.

Antwort

0

Wenn Sie möchten, dass die Breite und Länge von einer Position auf der Google-Karte angeklickt, können Sie dies in dem Click-Ereignis tun:

google.maps.event.addListener(map, 'click', function(event) { 

    marker = new google.maps.Marker({position: event.latLng, map: map}); 

}); 

Für den Titel/Text in der Markierung angezeigt wird, können Sie kann infoWindow verwenden.

Der InfoWindow Konstruktor verwendet ein InfoWindowOptions Objektliteral, das die Anfangsparameter für die Anzeige des Infofensters angibt.

Der Inhalt der InfoWindow kann eine Textzeichenfolge, ein HTML-Snippet oder ein DOM-Element enthalten. Um den Inhalt festzulegen, geben Sie ihn entweder unter InfoWindowOptions ein oder rufen Sie setContent() explizit unter InfoWindow an.

Wenn Sie den Inhalt explizit formatieren möchten, können Sie ihn in ein <div>-Element einfügen und die <div> mit CSS formatieren. Sie können CSS auch zum Scrollen verwenden. Wenn Sie das Scrollen nicht aktivieren und der Inhalt den im Infofenster verfügbaren Speicherplatz überschreitet, wird der Inhalt möglicherweise aus dem Infofenster gelöscht.

Für weitere Informationen überprüfen Sie diese SO question.

1

Hier ist, wie ich =>

mMap.MapClick += mMap_Mapclick; 

mMap_Mapclick(object sender, MapClickEventArgs e) 
{ 
    LatLng clickPosition = e.Point; 
} 

Sie können die Latitude & Länge mit dem clickPosition bekommen (clickPosition.Latitude, ...)

Verwandte Themen