Как нарисовать несколько полилиний с помощью Google Maps?

#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.