#javascript #google-maps
#javascript #google-карты
Вопрос:
У меня есть список широты и долготы в базе данных, и я хочу нарисовать больше полилиний на Google Maps. Например:
var i, j;
var polyline1 = new Array(latt.length);
str = new Array(latt.length);
for (var k = 0; k < latt.length; k ) {
i = latt[k].split(',');
j = longg[k].split(',');
str[k] = 'new GLatLng(' i[0] ',' j[0] ')' ',';
for (var count = 1; count < i.length; count ) {
str[k] = 'new GLatLng(' i[count] ',' j[count] ')' ',';
}
str[k] = str[k] 'new GLatLng(' i[0] ',' j[0] ')';
polyline1[k] = new GPolyline([str[k]], "#ff0000", 6);
map.addOverlay(polyline1[k]);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
}
но я получаю сообщение об ошибке
Ответ №1:
Я не понимаю причины ошибки — я не вижу a
нигде — но вы почти наверняка используете GPolyline неправильно. Требуется массив объектов, а не одноэлементный массив строки JavaScript:
var polyline1 = new Array(latt.length);
str = new Array(latt.length);
for (var k = 0; k < latt.length; k ) {
var i = latt[k].split(',');
var j = longg[k].split(',');
var latlngs = [];
for (var count = 0; count < i.length; count ) {
latlngs.push(new GLatLng(parseFloat(i[count]), parseFloat(j[count])));
}
polyline1[k] = new GPolyline(latlngs, "#ff0000", 6);
map.addOverlay(polyline1[k]);
}
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
Я не знаю, действительно ли parseFloat
необходимы. Вероятно, вы также захотите переместить элементы управления за пределы цикла.
Комментарии:
1. привет, на самом деле я новичок в Google maps, у меня есть список широты и долготы, и я хочу нарисовать полилинию. Итак, не могли бы вы, пожалуйста, предоставить мне решение с примером..
2. Разве это сейчас не работает? Я думаю, что это примерно так. Вот очень простой пример, который я сделал давным-давно, просто выгрузив данные со своих GPS-часов на страницу самым простым способом, который я мог. Я уверен, что есть лучшие способы сделать это, хотя я не очень много знаю об API.