C#Android:googlemaps onclick获取lat和long

时间:2016-04-06 08:52:11

标签: c# android google-maps xamarin

我正在寻找一种方法来获得lat&很久,当我点击地图。之后,将标记添加到该位置。这是我的代码:

    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
        };
    }

是否可以设置lat&长期进入标记的标题?如果没有,也可以在文本视图中显示它。提前谢谢。

2 个答案:

答案 0 :(得分:1)

以下是我的做法=>

mMap.MapClick += mMap_Mapclick;

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

你可以获得Latitude&使用clickPosition(clickPosition.Latitude,...)

的经度

答案 1 :(得分:0)

如果您希望获得点击Google地图上某个位置的纬度和经度,可以在点击事件中执行此操作:

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

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

});

要在标记中显示标题/文字,您可以使用infoWindow

InfoWindow构造函数采用InfoWindowOptions对象文字,它指定显示信息窗口的初始参数。

InfoWindow的内容可能包含一串文字,一段HTML或DOM元素。要设置内容,请在InfoWindowOptions中指定内容,或在setContent()明确调用InfoWindow

如果您希望明确调整内容的大小,可以将其放在<div>元素中,并使用CSS设置<div>样式。您也可以使用CSS来启用滚动功能。请注意,如果您未启用滚动且内容超出信息窗口中的可用空间,则内容可能会溢出信息窗口。

有关详细信息,请查看此SO question