javascript - 静态谷歌地图不适用于我的情况

标签 javascript google-maps google-maps-api-3

我有 2 个简单的图像:

  1. 纯 map 图钉:http://platform.docplanner.com/img/general/icons/map-pin.png
  2. 促销 map 图钉:http://platform.docplanner.com/img/general/icons/map-pin-calendar.png

它们都可以通过上面的链接访问。

我要做的是简单的两个版本的 map 。 一个带有简单的图钉,第二个带有促销图钉。

<img src="{url with params and pure pin icon}" alt=""/> <img src="{url with params and promo pin icon}" alt=""/>

问题是第一个案例工作正常,第二个没有(Google 的 400 错误 - http://take.ms/pPamV)。

这是带有代码的 jsfiddle:http://jsfiddle.net/qp4jdhL0/1/ 在这两种情况下,我都在 Google 静态 map 请求的参数中使用了相同的经纬度(每张 map 20 个)。

你知道哪里出了问题吗??

最佳答案

问题是 URL 的长度。

Google Maps API 最多允许 2048 个字符(大字符为 2171,小字符为 1991)

引自docs

URL Size Restriction

Static Map URLs are restricted to 2048 characters in size.

但是您可以通过不为每个标记定义图标来减少 url 长度。如果您定义一个,它将应用于所有后续标记。

所以只用一次,后面跟着用|分隔的坐标对


http://maps.googleapis.com/maps/api/staticmap?size=245x272&maptype=roadmap&markers=icon:http://platform.docplanner.com/img/general/icons/map-pin-calendar.png||52.1598892,21.0696316|52.2009163,20.9666195|52.2870255,21.0283909|50.2554169,19.0244465|50.3023148,18.7893543|51.7696419,19.4822693|54.3800964,18.5857487|51.2643013,15.5582724|50.30476,18.9447422|51.7388725,19.4120331|52.2514076,20.9978237|52.2356453,21.1359806|54.3785172,18.6070824|51.8151283,19.4298782|51.2461815,22.5612831|52.2870255,21.0283909|50.0593109,19.926136|51.7768898,19.4775219|51.6970253,17.4467545|50.0227585,19.9021263

长度现在减少到 595 个字符。

关于javascript - 静态谷歌地图不适用于我的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27629166/

相关文章:

javascript - Slick JS - 如何使用 ajax 数据重新加载内容

google-maps - 无法在谷歌地图中使用 setMap(null) 或 setVisible(false) 清除标记

android - 如何在标记下移动 map ?

javascript - 我如何从谷歌地图信息窗口调用 Angular2 函数?

javascript - axios 相当于 curl --upload-file

javascript - 有人可以用对象解释奇怪的 JavaScript 吗?

javascript - vuejs 从子组件更新父数据

android - 当我的 googlemaps View Activity 重新获得焦点时出现问题(窗口下方带有黑色区域的 map )

javascript - 在 Ionic 上从一种 View 更改为另一种 View 后,如何保留谷歌地图标记?

javascript - 根据地理位置检测区域