Je suis un débutant dans le développeur Android. Je souhaite développer une application cartographique à l'aide de Google Map ..__ Maintenant, je souhaite ajouter un marqueur sur la carte via Touch ou Tap of the Map. Je ne sais pas comment appliquer un événement tactile pour déposer le marqueur sur la carte. Dites-moi et, si cela est possible, donnez-moi s'il vous plaît des liens ou des exemples. Merci et désolé pour mon anglais.
Ce code a été exécuté avec succès. Je travaille sur ce code auquel ce code est destiné/ Dynamic Draw
Je pense que ce code vous aide davantage pour les emplacements statiques ou dynamiques que vous pouvez utiliser ce code
double latval = Double.parseDouble(jsonobject.getString("lat"));
double longval = Double.parseDouble(jsonobject.getString("lon"));
mMap.addMarker(new MarkerOptions()
.position(new LatLng( latval, longval))
.title(jsonobject.getString("country"))
.snippet("4 E. 28TH Street From $15 /per night")
.rotation((float) -15.0)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))
);
if (i == 0) {
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(latval, longval), 7));
mMap.addCircle(new CircleOptions()
.center(new LatLng(latval,longval))
.radius(5000)
.strokeColor(Color.RED)
.fillColor(Color.RED));
}
Essayez d’utiliser le nouveau Google Map API v2 .
C'est facile à utiliser et vous pouvez ajouter un marqueur au robinet comme ceci:
map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
allPoints.add(point);
map.clear();
map.addMarker(new MarkerOptions().position(point));
}
});
ou dans Kotlin:
map.setOnMapClickListener {
allPoints.add(it)
map.clear()
map.addMarker(MarkerOptions().position(it))
}
Notez que vous voudrez peut-être mémoriser tous les points ajoutés dans une liste (allPoints
) afin de pouvoir les redessiner ou les supprimer ultérieurement. Une approche encore meilleure pour mémoriser les points consiste à mémoriser un objet Marker
pour chacun d’eux - vous pouvez obtenir l’objet Marker
à la suite de la fonction addMarker
, il dispose d’une fonction remove()
qui supprime facilement le marqueur de la carte.
La technique que j'ai utilisée est:
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
MarkerOptions marker = new MarkerOptions().position(
new LatLng(point.latitude, point.longitude)).title("New Marker");
googleMap.addMarker(marker);
System.out.println(point.latitude+"---"+ point.longitude);
}
});
j'espère que ça aide!!!
Essayez ces Tutorial 1 et Tutorial 2 pour comprendre Google Maps.
et référez-vous link à Stack Overflow Question pour le faire sur onTouch