谷歌地图标记可以在屏幕上拖动,所以我想知道是否有办法在标记放置在屏幕上的某个位置(例如左下角)时触发事件。如何在谷歌地图标记被放置在屏幕上的某个位置时触发事件?
回答
在创建布局和映射初始化后,在onCreate()中添加以下代码:
View mapView = getSupportFragmentManager().findFragmentById(R.id.map).getView();
if (mapView.getViewTreeObserver().isAlive()) {
mapView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(CENTER, 15));
Point markerScreenPosition = map.getProjection().toScreenLocation(marker.getPosition());
int x = markerScreenPosition.getX();
int y = markerScreenPosition.getY();
if(x == yourValue && y == yourValue){
//your trigger code goes here
}
}
});
}
不按位置我的意思是屏幕位置(x,y)坐标,因为我已经提到过屏幕左下角 – Nobody
我编辑了我的答案。希望这可以帮助。 – tahsinRupam
我认为标记不会自动丢弃。他们由您的代码处理。例如,您可以在地图点击或地图长按上添加标记。获取该事件并尝试修复
它可以通过设置可拖动'.draggable(真)'我想要知道如何触发一个事件,基于它在屏幕上的位置,就像我已经问过 – Nobody
这样的情况下,你可以[试试这个](https://developers.google.com/android/reference/com /google/android/gms/maps/GoogleMap.OnMarkerDragListener) –
- 1. 如何在谷歌地图上的屏幕中心放置一个标记
- 2. 如何在第一个位置放置不同的谷歌地图标记
- 3. 如何在谷歌地图上设置屏幕中心的标记
- 4. 谷歌地图:了解事件被触发的标记
- 5. 离子谷歌地图,如何设置标记上的位置?
- 6. 谷歌地图相机在多个标记上的位置
- 7. 谷歌地图上的位置名称/标记位置
- 8. 谷歌地图中的标记放置事件?
- 9. 将标记放置到谷歌地图
- 10. 谷歌地图infowindow在自定义标记上的位置
- 11. 如何在屏幕上的任何位置放置视图?
- 12. 谷歌地图上的设置标记
- 13. 在屏幕上获取Google地图标记位置
- 14. 在地图中放置位置标记?
- 15. 谷歌地图API V3 - 在同一地图上有两个标记的位置
- 16. 在Selenium上放置嵌入式谷歌地图标记
- 17. setTimeout()和在谷歌地图上放置标记
- 18. 谷歌地图在当前位置设置标记
- 19. 谷歌地图Api标记不能在多个位置工作
- 20. 在谷歌地图上放置文字
- 21. 在谷歌地图上放置针点
- 22. 在谷歌上分享位置地图
- 23. 如何将描述放置在谷歌地图上的标记android
- 24. 谷歌地图我得到当前的位置当我改变位置标记不会在谷歌地图
- 25. 在我的谷歌地图上放置了一个精确的标记
- 26. 在android中使用谷歌地图添加标记在触摸位置
- 27. 谷歌地图标记没有显示在确切的位置
- 28. 最近5的位置(标记)在谷歌地图
- 29. 谷歌地图事件触发谷歌地图重新加载?
- 30. 谷歌标记放置
检查https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener – AndroidRuntimeException