Google Maps API v3 Полилинии не рисуются - PullRequest
0 голосов
/ 18 января 2012

Приложение работает следующим образом: пользователь вводит начальное местоположение и расстояние.Пользователь может выбрать рисовать круги или линии над дорогами.Круги работают нормально.Линии, используемые для работы.

Когда Линии, код находит широту / длину начальной позиции, затем для точек N, S, E, W начала координат на расстоянии, заданном пользователем (скажем,100км).Начиная с места назначения N, код вызывает google.maps.DirectionsService (), чтобы получить указания от источника к N. Это возвращает массив значений lat / long в файле route.overview_path.

ПРИМЕЧАНИЕ.используйте directionsRenderer (), чтобы нарисовать маршрут, НО, нарисованное расстояние будет больше, чем расстояние, установленное пользователем.Рисование всего маршрута от начала координат до точки N может составлять 124 км по дорогам, и я просто хочу нарисовать 100 км.

Вместо этого я шагаю по массиву route.overview_path [], проверяя расстояние между ними.точка и точка происхождения, добавляя каждую точку в новый массив.Когда расстояние превышает заданное пользователем расстояние, я останавливаюсь, выталкиваю последний элемент, а затем создаю новую полилинию на основе этого второго, меньшего массива.

Я провел весь день в Chrome.режим разработчика, проходящий через javascript, установка точек останова, наблюдение за местными жителями и т. д. Массив точек, переданных в google.maps.Polyline ({}), представляет собой хороший массив уникальных точек.Я просто не могу понять, почему они не рендерится.

В конечном счете, код, используемый для рисования 4 линий, начинающихся в точке происхождения, одна на север, одна на восток, юг, запад.и т.д ....

Код здесь: http://whosquick.com/RunViz.html

Спасибо за внимание.

1 Ответ

0 голосов
/ 19 января 2012

Nevermind. Решил это.

var objGeo = new LatLon(Geo.parseDMS(myroute.overview_path[0].Pa), Geo.parseDMS(myroute.overview_path[0].Qa));

Я случайно переключил Па с Ка.

...