J'essaie de dessiner poligon sur Google Map dans android. Pour dessiner le polygone, j'ai ajouté plusieurs marqueurs sur Google Map en utilisant mMap.setOnMapLongClickListener
et connecté ceux qui utilisent une boucle. Je l'ai fait avec succès. Mais le setOnMapLongClickListener
ne fonctionne pas pour Android version améliorée (6.0).Ajouter un marqueur sur Google Map en utilisant setOnMapLongClickListener dans Android pour chaque version
J'ai ajouté mon code.
mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng latLng) {
mMap.addMarker(new MarkerOptions().position(new LatLng(latLng.latitude, latLng.longitude)).title("Marker of Finder"));
// data formating for server
JSONArray coordinateJsonArray = new JSONArray();
try {
coordinateJsonArray.put(latLng.longitude);
coordinateJsonArray.put(latLng.latitude);
} catch (JSONException e) {
}
list.add(coordinateJsonArray);
markers.add(new LatLng(latLng.latitude, latLng.longitude));
if (markers.size() > 2) {
removeGeofenceImageButton.setVisibility(View.VISIBLE);
for (int i = 0; i < markers.size() - 1; i++) {
polygon3 = mMap.addPolygon(new PolygonOptions()
.add(new LatLng(markers.get(i).latitude, markers.get(i).longitude),
new LatLng(markers.get(i + 1).latitude, markers.get(i + 1).longitude),
new LatLng(markers.get(0).latitude, markers.get(0).longitude))
.strokeColor(0x82662d91)
.fillColor(0x82662d91)
.strokeWidth(1)
);
}
}
Log.d("Polygone", markers.toString());
}
});
J'ai ajouté un fragment de carte au sein de FrameLayout
. Voici le code xml
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mapLayout"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:longClickable="true"
tools:context="com.finder.gps.tracker.activity.MainActivity" />
<!--<ImageButton-->
<!--android:id="@+id/remove"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="right|center"-->
<!--android:background="@color/background"-->
<!--app:srcCompat="@android:drawable/ic_delete" />-->
<Button
android:id="@+id/add_geofence"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#c7ffffff"
android:text="Add Geofence"
android:textColor="@color/black" />
</FrameLayout>
J'ai testé ce code. Cela a fonctionné pour la version d'Android jusqu'à 5,0. Faites-moi savoir comment puis-je permettre à l'utilisateur d'ajouter un marqueur sur google map pour chaque version d'Android?
Je peux voir que quelqu'un a voté vers le bas cette question. S'il vous plaît laissez-moi savoir la raison du vote à la baisse. Y a-t-il un problème avec cette question ou dois-je améliorer cette question? – anuradha