Xamarin Forms - 谷歌地图在地图上显示多个标记

时间:2017-07-20 02:58:03

标签: c# android google-maps xamarin.forms

我正在使用Android.Gms.Maps.GoogleMap在我的Xamarin表单应用程序android项目中显示地图。我无法找到很多关于在特定纬度和经度上显示(理想情况下)屏幕上的圆圈的文档,或者(不太理想情况下)标记图钉。

是否有GoogleMap.addMarker(double latitude, double longitude)或类似的功能来显示这样的圆圈或图钉?

1 个答案:

答案 0 :(得分:2)

要在Google地图上添加圈子,请使用以下代码:

Circle circle;
public void OnMapReady (GoogleMap googleMap)
  {
    map = googleMap;

    var circleOptions = new CircleOptions ();
    circleOptions.InvokeCenter (new LatLng (lat, lon));
    circleOptions.InvokeRadius (circle.Radius);
    circleOptions.InvokeFillColor (0X66FF0000);
    circleOptions.InvokeStrokeColor (0X66FF0000);
    circleOptions.InvokeStrokeWidth (1);
    circle = map.AddCircle (circleOptions);
  }

要添加标记,请使用此选项:

Marker marker;
public void OnMapReady (GoogleMap googleMap)
{
 MarkerOptions markerOpt1 = new MarkerOptions();
    markerOpt1.SetPosition(new LatLng(lat, lon));
    markerOpt1.SetTitle("testing");
    marker = googleMap.AddMarker(marker1);
}

为避免多个标记和圆圈,您可以编辑其位置而无需重新编写:

 circle.Center = new LatLng(latLng.Latitude, latLng.Longitude);
 marker.Position = new LatLng(latLng.Latitude, latLng.Longitude);