2012-11-13 5 views
0

J'utilise Mono pour Android MapsAndLocationDemo et j'ai une question. Puis-je avoir de l'aide pour placer des marqueurs sur la carte actuelle à certains points de longitude et de latitude? Aussi, être capable d'exécuter du code quand chacun de ces 'marqueurs' est cliqué?Mono pour Android Ajouter des pointeurs à la carte

merci

Répondre

0

Vous devez ajouter une superposition de carte. Here est un tutoriel

Vous pouvez implémenter 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(); 
    } 
} 

utiliser ensuite comme ça

var monkey = Resources.GetDrawable (Resource.Drawable.monkey); 
var monkeyOverlay = new MonkeyItemizedOverlay (monkey, Context); 
map.Overlays.Add (monkeyOverlay); 

Si vous souhaitez ajouter un clic fonctionnalité override OnTap (int)

protected override bool OnTap(int index) 
{ 
    var item = _items[index]; 

    Toast.MakeText(context, index.ToString(), ToastLength.Short).Show(); 

    return true; 
} 
+0

Merci . Que diriez-vous d'exécuter du code en cliquant sur un marqueur? – user1690531

+0

Vous pouvez simplement ajouter un bouton directement à la MapView http://docs.xamarin.com/Android/Guides/Platform_Features/Maps_and_Location/Part_2_-_Maps_API#MapView_as_a_view_container –

+0

Ou remplacez la méthode OnTap (int) de ItemizedOverlay –