【问题标题】:Marking location on map in android [duplicate]在android中的地图上标记位置[重复]
【发布时间】:2017-01-13 22:40:11
【问题描述】:

我试图让用户在地图上标记一些位置,有什么办法吗?类似于尝试在地图中获取方向并选择选项choose location on maps 时发生的情况。我需要这样的东西,以便用户选择一个位置,然后我得到所选位置的经度和纬度。

我已经搜索了很多,但我没有找到类似的东西,有人可以帮我吗?

【问题讨论】:

标签: android google-maps android-fragments maps


【解决方案1】:

如果我理解,您想获得例如可见的地图区域边界? 如果是,您可以获得可见区域边界:

VisibleRegion visibleRegion = mMap.getProjection().getVisibleRegion();
LatLngBounds latLngBounds = visibleRegion.latLngBounds;

如果你想选择(标记)某个区域,像这样: example picture

你应该使用polygon

而且,当用户点击地图进行检测时,您可以获得回调:如果用户点击多边形区域。

map.setOnMapClickListener(new OnMapClickListener() {
        @Override
        public void onMapClick(LatLng clickedLocation) {
                float lat = clickedLocation.latitude;
                //...
        }
    });

如果您想授予用户选择(绘制)区域的权限,请使用 onMapClick 获取绘制多边形的点列表,然后单击某个按钮绘制多边形。

希望这会有所帮助!=)

【讨论】:

  • 您可以隐藏标记(您看到的示例图片)。 =)
  • 确切地说,我想让用户在地图上选择一个位置,然后我得到那个位置的经纬度
  • 因此,正如您所见,我为 onMapClick 编写示例:float lat = clickedLocation.latitude;你可以得到经度:float lng = clickedLocation.longitude;
  • 您在代码中使用的map 对象,该对象来自哪个类?
  • 地图是 GoogleMap class=)的对象
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2011-08-29
  • 2018-03-13
  • 1970-01-01
相关资源
最近更新 更多