【问题标题】:Draw GMSPolyline on Google maps in iOS在 iOS 中的 Google 地图上绘制 GMSPolyline
【发布时间】:2015-09-15 14:09:53
【问题描述】:

我对谷歌地图还很陌生,这个问题让我困扰了好几天。

我基本上有一组坐标点,我将它们转换为 GMSPath 对象。然后使用此路径对象在我的 GMSMapView 上绘制和渲染 GMSPolyline。这绝对没问题。现在我需要为这条折线获取一个可共享的链接,以便可以在网络浏览器的谷歌地图上绘制它。我试过分享以下链接,浏览器显示它很好:

http://maps.googleapis.com/maps/api/staticmap?center=33.402285,-111.942715&zoom=20&size=600x600&maptype=satellite&sensor=false&path=color:red|weight:1|fillcolor:white|33.4022475,-111.9426775|33.4022475,-111.9427525|33.4023225,-111.9427525|33.4023225,-111.9426775|33.4022475,-111.9426775

这对于一些坐标点非常有效。然而,就我而言,我可能会得到 500-1000 个位置坐标。这超出了网络浏览器的最大字符限制。有人可以指出我应该在哪里寻找吗? 任何帮助将不胜感激。

【问题讨论】:

    标签: ios google-maps google-polyline


    【解决方案1】:

    也许您可以看看 Google 所说的“编码折线”。基本上它和你正在做的事情是一样的,但是有一个特定的编码设计来减少一点 URL 的大小。请参阅此处了解其工作原理:https://developers.google.com/maps/documentation/staticmaps/#Paths。还有更详细的文章:https://developers.google.com/maps/documentation/utilities/polylinealgorithm。请注意,使用此方法,您还可以在 URL 中保留 centerzoom 参数。

    但如果您仍在使用此方法构建长度超过 2.048 字节的 URL,恐怕您将无法使用 Google Maps Static API 超过浏览器限制。 500 到 1.000 个位置对于此目的来说可能太多了,即使使用编码的折线......还是祝你好运!

    【讨论】:

    • 感谢指点!实际上,我确实偶然发现了 google 的编码折线,但没有发现它们适合我的使用。动态编码字符串并不容易实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多