【问题标题】:Xamarin Forms - Google map show multiple markers on mapXamarin Forms - Google 地图在地图上显示多个标记
【发布时间】:2017-07-20 11:48:56
【问题描述】:
我正在使用Android.Gms.Maps.GoogleMap 在我的 Xamarin 表单应用程序 android 项目中显示地图。我找不到太多关于在屏幕上显示(理想情况下)特定纬度和经度的圆圈或(不太理想)标记别针的文档。
有没有类似GoogleMap.addMarker(double latitude, double longitude)或类似的函数来显示这样的圆圈或图钉?
【问题讨论】:
标签:
c#
android
google-maps
xamarin.forms
【解决方案1】:
要在谷歌地图上添加圆圈,请使用以下代码:
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);