私はAndroid開発者。Googleマップを使用して地図アプリケーションを開発したい。今、地図上のタッチまたはタップを介して地図にマーカーを追加したい。タッチイベントを適用して地図上にマーカーをドロップする方法教えてください、可能であれば、リンクまたは例を教えてください。
このコードは正常に実行されました。このコードはDynamic Draw
このコードは、このコードを使用できる静的または動的な両方の場所でより役立つと思います
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));
}
新しい Google Map API v2 を使用してみてください。
使い方は簡単で、タップすると次のようにマーカーを追加できます。
_map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
allPoints.add(point);
map.clear();
map.addMarker(new MarkerOptions().position(point));
}
});
_
またはKotlin:
_map.setOnMapClickListener {
allPoints.add(it)
map.clear()
map.addMarker(MarkerOptions().position(it))
}
_
リストに追加したすべてのポイント(allPoints
)を覚えておき、後で再描画または削除できるようにしたい場合があることに注意してください。ポイントを記憶するためのさらに良いアプローチは、それぞれのMarker
オブジェクトを記憶することです-Marker
関数の結果としてaddMarker
オブジェクトを取得できます。マップからマーカーを簡単に削除するremove()
関数があります。
私が使用した手法は次のとおりです。
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);
}
});
それが役に立てば幸い!!!
これらを試してください チュートリアル1 および チュートリアル2 Googleマップを理解するために
そしてこれを参照してください Stack Overflow Questionへのリンク onTouchでそれを行うために