通过触摸或点击在 Android 谷歌地图上添加标记
Posted
技术标签:
【中文标题】通过触摸或点击在 Android 谷歌地图上添加标记【英文标题】:Add Marker on Android Google Map via touch or tap 【发布时间】:2013-06-13 03:32:46 【问题描述】:我想在 android 上使用 Google 地图开发地图应用程序。 现在,我想通过触摸或点击地图在地图上添加标记。如何应用触摸事件将标记放在地图上?
【问题讨论】:
这能回答你的问题吗? Add marker on touched location using google map in Android 【参考方案1】:尝试使用新的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
对象 - 您可以从 addMarker
函数中获取 Marker
对象,它有一个 remove()
函数,可以轻松删除地图上的标记。
【讨论】:
这里是什么 lstLatLngs.add(point); ?我的意思是 lstLatLngs 哪些反对你不澄清?【参考方案2】:我使用的技术是:
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);
);
希望对你有帮助!!!
【讨论】:
【参考方案3】:此代码运行成功我正在处理此代码用于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));
【讨论】:
@shiteru 这不应该是公认的答案。它没有回答原始问题,但这个答案可以:***.com/a/17147121/2102748。它可能帮助您解决了问题,但它不包含问题的答案,并且会误导新访问者。 这是怎么被接受的答案?它根本没有回答问题。以上是关于通过触摸或点击在 Android 谷歌地图上添加标记的主要内容,如果未能解决你的问题,请参考以下文章