我正在使用 Mono For Android MapsAndLocationDemo 并且有一个问题。
我可以帮忙在当前地图上的某些经度和纬度点上放置一些“标记”吗?另外,当点击每个“标记”时,是否能够执行一些代码?
谢谢
我正在使用 Mono For Android MapsAndLocationDemo 并且有一个问题。
我可以帮忙在当前地图上的某些经度和纬度点上放置一些“标记”吗?另外,当点击每个“标记”时,是否能够执行一些代码?
谢谢
您需要添加地图叠加层。这是一个教程
您可以实施ItemizedOverlay
class MonkeyItemizedOverlay: ItemizedOverlay
{
List<OverlayItem> _items;
Context context;
public MonkeyItemizedOverlay (Drawable monkey, Context context) : base(monkey)
{
this.context = context;
// populate some sample location data for the overlay items
_items = new List<OverlayItem>{
new OverlayItem (new GeoPoint ((int)40.741773E6,
(int)-74.004986E6), null, null),
new OverlayItem (new GeoPoint ((int)41.051696E6,
(int)-73.545667E6), null, null),
new OverlayItem (new GeoPoint ((int)41.311197E6,
(int)-72.902646E6), null, null)
};
BoundCenterBottom(monkey);
Populate();
}
}
然后像这样使用它
var monkey = Resources.GetDrawable (Resource.Drawable.monkey);
var monkeyOverlay = new MonkeyItemizedOverlay (monkey, Context);
map.Overlays.Add (monkeyOverlay);
如果你想添加点击功能覆盖 OnTap(int)
protected override bool OnTap(int index)
{
var item = _items[index];
Toast.MakeText(context, index.ToString(), ToastLength.Short).Show();
return true;
}