Google Maps Api V3: Как привязать маркер к вершинам многоугольника? - PullRequest
0 голосов
/ 23 июня 2011

Я пытаюсь привязать маркеры к вершинам многоугольника, так что перемещение маркеров изменит форму многоугольника.

    var polygonLine = new google.maps.Polyline(
    {
        path: [],
        map: map,
        strokeColor: "#FF0000",
        strokeOpacity: 1.0,
        strokeWeight: 2
    });
    polygonLine.getPath().push(new google.maps.LatLng(-31.95202, 115.8548));
    polygonLine.getPath().push(new google.maps.LatLng(-31.94980, 115.8586));
    polygonLine.getPath().push(new google.maps.LatLng(-31.95246, 115.8625));
    polygonLine.getPath().push(new google.maps.LatLng(-31.95508, 115.8558));

    var polygon = new google.maps.Polygon({map: map, path: polygonLine.getPath()});
    var vertices = polygon.getPath();

    for (var i = 0; i < vertices.getLength(); i++)
    {
        markers[i] = new google.maps.Marker({ position:vertices.getAt(i), map: map, draggable: true });
        vertices.getAt(i).bindTo('position', markers[i], 'position');      // Throws an error
    }

Теперь это не работает, потому что на 2-мпоследняя строка, vertices.getAt (i) возвращает LatLng, который не поддерживает свойство 'position'.

Кто-нибудь знает, как я могу привязать маркер к вершине?Спасибо:)

1 Ответ

0 голосов
/ 23 июня 2011

Я бы взглянул на источник в этом проекте Google Code с примерами API v3 .

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

...