-1
我想在android中的Google Map上繪製poligon。要繪製多邊形,我使用mMap.setOnMapLongClickListener
在Google地圖上添加了多個標記,並使用循環連接了這些標記。我成功地做到了。但setOnMapLongClickListener
不適用於Android升級版本(6.0)。在Google地圖上使用setOnMapLongClickListener在Android中爲每個版本添加標記
我加了我的代碼。
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());
}
});
我在FrameLayout
中添加了地圖片段。這裏是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>
我測試了這段代碼。它適用於Android版本高達5.0。
讓我知道如何讓用戶在谷歌地圖上爲Android中的每個版本添加標記。
我可以看到有人下來投了這個問題。請讓我知道投票的理由。這個問題有什麼不對嗎,還是我需要改進這個問題? – anuradha