0

Mono For Android MapsAndLocationDemo を使用していますが、質問があります。

現在の地図の特定の経度と緯度のポイントに「マーカー」を配置する方法を教えてください。また、これらの「マーカー」のそれぞれがクリックされたときにいくつかのコードを実行できますか?

ありがとう

4

1 に答える 1

0

マップ オーバーレイを追加する必要があります。ここにチュートリアルがあります

実装できます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;
}
于 2012-11-13T11:04:26.063 に答える