У меня есть простой массив, содержащий название города. Я пытаюсь пропустить этот массив и добавить маркеры, связанные Полилиниями на Карте Google.Как добавить полилинии с массивом положения?
Вот мой код:
function addMarkerCity(cities) {
$.each(cities, function(index, value) {
geocoder.geocode({'address': value}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var cityPosition = results[0].geometry.location;
flightRoute.push(cityPosition);
var currentMarker = map.addMarker({
position: cityPosition
});
});
});
});
}
Функция addMarkerCity отлично и срабатывает работает на событие нажатия кнопки JQuery(). Я использую массив flightRoute для хранения каждой позиции каждого маркера, а затем передаю его функции, которая создаст полилинию между двумя маркерами.
Проблема в том, что я вижу только полилинию на карте, если я дважды нажимаю кнопку, чтобы она работала.
Когда я делаю:
console.log(flightRoute);
Массив flightRoute равно [], а затем я могу увидеть LatLng из 2 ранее созданных маркеров. Может кто-то сказать мне, что я делаю неправильно, чтобы получить позицию внутри flightRoute и сразу показать маркеры. Я очень близок к тому, чтобы получить результат, который я хочу.
Можете ли вы разместить рабочий пример? JSfiddle или что-то подобное –
Вам не нужно было бы дважды нажимать кнопку, чтобы получить 2 маркера, что даст вам полилинию? Не может быть линии с 1 очко. –
В вашем опубликованном коде отсутствует функция щелчка (или карта в этом отношении). Что делает функция кликов? Просьба представить [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему. – geocodezip