Я декодирую закодированный путь и использую этот декодированный путь, чтобы нарисовать ломаную линию на карте Google. Однако по какой-то причине не видно никакой линии. Есть идеи, что когда не так?
Код JS
encoded_path = 'axwaGtbcqL`BgArBmAjCcBlBcCnBeChB_BrAmAxByBjCoCkAqBmByCu@qA[i@~BmAdAq@FEzAqAvAsA|@{@DCr@{@DIjAuA|@cAz@}@~AeB\[LZxAjDJINM|AkAxAxCfAw@g@jAeBpEOr@Ox@CTeAlMM~AYhDc@pE_AtHGj@m@`Gm@dHa@hFaAbM_AfJ]jDAlA{Hhv@eAdFy@bCcBpEeBzDyArDu@`E_AnFs@|Fq@fGKtKaEqCgBmB_GmFcJaM}@nBg@BbA}CpAaEvAoEnGyOvDuPDSPYAIIMMMGOMMIIKKKQIMIKIKa@gAQ_@Q[CCY_@OSQYQQOOSMSOa@]g@g@UWSUYm@Uk@]qAKe@Ia@I_@Iy@Es@C_AAw@A]Ca@G[Qy@GSKa@M]M_@Qa@M]IOGKQSGIIG}@w@{AgAiAaAWSUOWOQIMEKCICOGMCKEQC_DuA?GbByB\_@~GaIxCgDl@s@bBkBnBcBzCqC`Ai@pCmA^mAd@qA';
decoded_path = google.maps.geometry.encoding.decodePath(encoded_path);
console.log(decoded_path);
var polyOptions = {
strokeColor: "#970E04" ,
strokeOpacity: 1.0 ,
strokeWeight: 2 ,
path: decoded_path ,
clickable: false,
map: map
}
polyline = new google.maps.Polyline(polyOptions);
Дополнительная информация
Следующий код установит начальный вид карты в том месте, где должна быть нарисована ломаная линия: Северный Кембридж, Массачусетс. Карта инициализируется в <body onload="initialize();">
, поэтому карту следует инициализировать до рисования ломаной линии. НЕ ВЕРНО !! Смотри ниже
function initialize() {
var center_latlng = new google.maps.LatLng(42.39902115,-71.12902832);
var options = {
zoom: 13,
minZoom: 11,
maxZoom: 19,
center: center_latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), options);
}
Дополнительная информация # 2
Я создал кнопку, которая создает ломаную линию при нажатии. Таким образом, я могу быть уверен, что ломаная линия создается после инициализации карты. Нажатие на эту кнопку вызывает появление полилинии !!! Как загрузить полилинию после инициализации карты?
$(function() {
$("#button").click(function() {
polyline.setPath(decoded_path);
polyline.setMap(map);
});
});