【问题标题】:Get zoom and center to fit all markers in a google static map获取缩放和中心以适合谷歌静态地图中的所有标记
【发布时间】:2018-06-27 18:53:10
【问题描述】:

我正在使用谷歌静态地图的 Java Me 应用程序。问题是我需要获得适合所有标记的缩放和中心,并且我需要在地图上的某些坐标中添加一些标签。我怎样才能做到这一点?我需要服务器或 midlet 中的函数来获取此参数,我无法使用 javascript。

【问题讨论】:

    标签: google-maps java-me midp


    【解决方案1】:

    你不需要自己计算。

    当您提供标记时,通常地图会有一个视口来显示所有标记。

    要修改视口,请使用visible-参数。


    参考 cmets:
    从几个点计算中心的伪代码:

    纬度:(maxLatOfAllPoints+minLatOfAllPoints)/2
    经度:(maxLngOfAllPoints+minLngOfAllPoints)/2

    【讨论】:

    • 感谢您的回答。问题是我需要在移动应用程序中获取中心才能在地图中绘制一些标签。
    • 当你知道标记的位置时,它需要一点数学来计算中心(见上文)
    • 我来这里是为了寻找这个,文档 URL 现在应该是:developers.google.com/maps/documentation/static-maps/…
    【解决方案2】:

    我也遇到了同样的问题。不要在您的网址中使用“&zoom=xx”,地图会自动适应您的所有标记!

    【讨论】:

    • 对我来说不起作用。 &zoom=xx 参数需要在 url 上。
    【解决方案3】:
    1. 定义边界对象

      bounds = new google.maps.LatLngBounds();
      
    2. 当您在地图上创建和放置标记时,会根据标记位置扩展键。

      bounds.extend(mPosition);
      

      其中mPosition 是一个谷歌new google.maps.LatLng(0,0) 对象,与您在创建标记时使用的对象相同。

    3. 最后,您可以创建一个链接以供点击或运行。

      map.fitBounds(bounds);
      

    就是这样。

    【讨论】:

    • OP 要求的是静态地图,而不是交互式地图
    猜你喜欢
    • 2012-12-13
    • 2011-04-23
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多