【问题标题】:GoogleMaps not showing markers near the poles谷歌地图没有在两极附近显示标记
【发布时间】:2020-07-01 19:59:18
【问题描述】:

如何使用 googleMaps api,以便用户可以平移和查看所有标记。目前我只能看到前三个(因为我的地图不允许我放大大约 82 度 N)。

override fun onMapReady(p0: GoogleMap) {
        mMap = p0
        
        val markerOptions = MarkerOptions()
        mMap.addMarker(markerOptions.position(LatLng(0.0, 0.0)))
        mMap.addMarker(markerOptions.position(LatLng(70.0, 0.0)))
        mMap.addMarker(markerOptions.position(LatLng(80.0, 0.0)))
        mMap.addMarker(markerOptions.position(LatLng(85.0, 0.0)))
        mMap.addMarker(markerOptions.position(LatLng(86.0, 0.0)))
        mMap.addMarker(markerOptions.position(LatLng(87.0, 0.0)))
        mMap.addMarker(markerOptions.position(LatLng(88.0, 0.0)))
}

我知道这可能会对两极的 2D 投影产生一些限制,但有什么解决方法

【问题讨论】:

标签: android google-maps latitude-longitude


【解决方案1】:

来自Official Documentation

Maps SDK for Android 代表您的世界表面(一个球体) 使用墨卡托投影的设备屏幕(平面)。在里面 东西方向,地图像世界一样无限重复 无缝地环绕在自己身上。在南北方向 地图被限制在大约北纬 85 度和 85 度 南。

注意:Mercator projection 的纵向宽度有限,但 纬向无限高。我们利用 墨卡托投影大约 +/- 85 度,以使 生成的地图形状为正方形,这使得平铺的逻辑更容易 选择。

您可以在Ryan BrodieMaximum Lat and Long bounds for the world - Google Maps API LatLngBounds() 问题的答案中找到更多信息 - 它是关于 javascript,但想法是相同的。

【讨论】:

猜你喜欢
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-08
  • 2019-03-05
  • 2016-08-31
相关资源
最近更新 更多