2013-12-18 2 views
0

Я хотел бы показать информационное окно, когда я перемещаю вершину на редактируемой полилинии. Эта информация покажет расстояние и заголовок в предыдущей вершине на полилинии. Когда я отбрасываю вершину, информационное окно должно быть закрыто. Проблема: полилиния не имеет события перетаскивания по вершине. Я попытаюсь использовать mousemove для полилинии, но он уволен после того, как движение закончено. В следующем коде я показываю пример того, что я сказал. У меня есть полилиния (FlightPath). Если я нажму на последнюю вершину, я буду перемещать маркер одновременно. Но это не сработает. Маркер перемещается после завершения движения.Событие перемещения мыши для вершины полилинии в google maps api v3

Некоторое предложение?

Примечание: Моя полилиния доступна для редактирования.

Благодаря

+0

[привязывает позицию маркера к позиции вершины] (https://developers.google.com/maps/documentation/javascript/reference#MVCObject) – geocodezip

+0

Спасибо за ваш ответ, но он не работает так, как я хочу. Перед тем, как опубликовать этот вопрос, я попытался использовать пример карты Google [ссылка] (http://gmaps-utility-gis.googlecode.com/svn/trunk/v3test/mvc/poly_bind.html) для привязки маркеров к вершине, но мой полилиния editable = true. Затем я могу перемещать вершину без перемещения маркера, хотя они привязаны. – briast

ответ

0

Вы можете управлять концевую перетащить событие на маркер и изменить де LatLng вершины:

google.maps.event.addListener(marker, 'dragend', function(evt){ 

var vertex = marker.get('vertex'); 

var path = flightPath.getPath(); 

var newPath = Array.prototype.slice.call(path).filter(
function(element, index){ 
    return index < vertex; 
}).concat([evt.latLng], 
Array.prototype.slice.call(path).filter(
function(element, index){ 
    return index > vertex; 
})); 
flightPath.setPath(newPath); 


}); 

Я прошу прощения за мой плохой английский, но я надеюсь, что это помогает.