2010-07-13 64 views
6

我已经给出了一些编码的多段线以显示在谷歌地图上。不过,我正在使用JQuery处理很多前端功能,现在我试图找到使用JQuery显示编码多段线的正确语法。添加编码多段线的标准语法是使用JQuery编码的多段线

var polyline = new GPolyline.fromEncoded({ 
    color: "#0000ff", 
    weight: 4, 
    opacity: 0.8, 
    points: "_gkxEv}|vNM]kB}B}@[email protected]@[email protected]?c", 
    levels: "[email protected]@[email protected]@?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中的语法,或者甚至可能吗?

在此先感谢

+3

增加了一个赏金,看看我能否帮助你在这里得到一些答案:-) – 2010-07-22 08:20:08

+1

没有建立一个例子,我不知道为什么原始代码会失败'与jQuery'。通常,jQuery只是一个函数库,它可以帮助您以浏览器中性方式重用代码,并且不会影响您使用“普通”JavaScript代码的能力。当然,围绕jQuery使用'$'符号存在一些问题,所以在这里可能会出现类似的情况。如果我错了,我很抱歉,但是我看到越来越多涉及jQuery的问题,当它被包含在讨论中时是完全没有根据的。 – belugabob 2010-07-22 08:37:00

+0

谢谢安迪! belugabob - 这个原始的javascript语法会导致一个错误,萤火虫将其描述为一个'不存在的函数',因此为什么我假设使用JQuery框架时的语法不同? – RichW 2010-07-22 16:34:07

回答

5

由于@belugabob已指出,不应该有在使用像谷歌地图API的JavaScript API的原因与jQuery一般的冲突。

这就是说,没有看到一个完整的例子,我只能推断如下:

所以,如果你需要使用编码折线保持你有两个选择:

  1. 继续使用V2 API,这意味着让你的第一个代码段的工作,因为它应该;你需要提供更多的细节,然后我们要弄清楚什么是你的代码错误,两点虽然前期(如jQuery是最有可能在这里不怪!):

    • 的最佳答案:在API版本组合和您对belugabobs问题的评论意味着您可能简单地错过了一些或包含错误的依赖关系!

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

  2. 升级到V3 API,这意味着你的编码折线解码成ArrayLatLngMVCArray。我不知道一个官方的例子,但是对于一个起点,您可以在Encoded polylines?线程中查看Esas answer,该线程指向Google Polyline实用程序源代码中的decodeLine()函数以及示例解码器。

祝你好运!

+0

感谢Steffen,看着我更加彻底地继承的代码有v2和v3 api的混合。我已经删除了所有v2代码并迁移到v3并使用标准多段线,直到它们在api的v3中受支持。 – RichW 2010-07-23 13:38:43

+0

感谢您回答@RichW的问题。赏金奖励:-) – 2010-07-25 10:14:19

+1

@安迪 - 感谢让这项调查更有价值,甚至帮助RichW这样:) – 2010-07-25 14:55:55