Закодированные полилинии с использованием JQuery - PullRequest
6 голосов
/ 13 июля 2010

Мне дали несколько закодированных полилиний для отображения на карте Google.Однако я использую 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 ]

5 голосов
/ 22 июля 2010

Как уже указывал @belugabob, не должно быть никаких причин для конфликтов с jQuery в целом при использовании таких API, как JavaScript API Карт Google.

Тем не менее, не видя полного примера, яможет только вывести следующее:

Так что в случае, если вам нужно продолжать использовать закодированные полилинии, у вас есть два варианта:

  1. Продолжайте использовать API V2, что означает, что ваш первый фрагмент кода будет работать как надо;вам нужно будет предоставить более подробную информацию, чтобы мы могли выяснить, что не так с вашим кодом (поскольку jQuery, скорее всего, здесь не виноват!), хотя два шага вперед:

    • Наилучшее предположение : смесь версий API и ваш комментарий относительно вопроса о белухабобах наводят на мысль, что вы можете просто пропустить некоторые или включать неправильные зависимости!

    • Еще одно замечание: по крайней мерев соответствии с Interactive Polyline Encoder Utility кодированные точки и уровни в ваших первых фрагментах кода не совпадают.

  2. Обновление до API V3, что подразумевает декодирование ваших закодированных полилиний в Array или MVCArray из LatLng.Я не знаю официального примера, но для начала вы можете посмотреть Esas answer в потоке Encoded polylines? , который указывает на функцию decodeLine() висходный код Google Polyline Utility, а также пример декодера.

Удачи!

0 голосов
/ 07 марта 2011

Кажется, теперь есть какая-то поддержка закодированных полилиний.

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

Документация не велика, но я также нашел пример здесь:

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

так что это должно дать вам представление о том, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...