使用JQuery编码的折线

时间:2010-07-13 09:58:55

标签: jquery jquery-ui maps

我已经获得了一些编码折线,可以在谷歌地图上显示。然而,我正在使用JQuery进行许多前端功能,现在我正试图找到使用JQuery显示编码折线的正确语法。添加编码折线的标准语法是

var polyline = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "_gkxEv}|vNM]kB}B}@q@YKg@IqCGa@EcA?c",
  levels: "P@B@D??@@?D?CA?B",
  zoomFactor: 2,
  numLevels: 18
});
map.addOverlay(polyline);

显然这不适用于JQuery。使用JQuery添加普通折线,你可以使用

new google.maps.Polyline({
            path: stationPathCoordinates1,
            strokeColor: "#20B5B3",
            strokeOpacity: 1.0,
            strokeWeight: 4

其中StationPathCoordinates是long和lats的数组。我现在在编码折线中有这个数组。我认为它可能是新的google.maps.Polyline.fromEncoded但这不起作用。任何人都知道JQuery中的语法,或者甚至可能吗?

提前致谢

2 个答案:

答案 0 :(得分:5)

正如@belugabob已经指出的那样,在使用像谷歌地图JavaScript API这样的API时,一般不应该与jQuery发生冲突。

那就是说,如果没有看到完整的例子,我只能推断出以下内容:

因此,如果您需要维护使用编码折线,您有两个选择:

  1. 继续使用V2 API,这意味着让您的第一个代码片段正常工作;你需要提供更多的细节,然后让我们弄清楚你的代码有什么问题(因为jQuery很可能不会在这里责怪!),虽然提前两点:

    • 最佳猜测:API版本组合以及您对belugabobs问题的评论表明您可能只是遗漏了一些或包含错误的依赖项!

    • 另一个观察结果:至少根据Interactive Polyline Encoder Utility,您的第一个代码片段中的编码点和级别不匹配。

  2. 升级到V3 API,这意味着将编码的折线解码为ArrayMVCArray LatLng。我不知道一个官方示例,但是作为起点,您可以在Esas answer主题中查看Encoded polylines?,该主题指向Google Polyline Utility源中的decodeLine()函数代码以及示例解码器。

  3. 祝你好运!

答案 1 :(得分:0)

现在似乎对编码折线有某种支持。

http://code.google.com/apis/maps/documentation/javascript/reference.html#encoding

文档不是很好但我也在这里找到了一个例子:

http://code.google.com/apis/maps/documentation/javascript/examples/geometry-encodings.html

所以这应该让你知道如何做到这一点。