Включенный фрагмент JavaScript должен выполнять следующие действия:
Когда пользователь нажимает на карту, инициализируйте headMarker и нарисуйте круг (многоугольник) вокруг него
Когда пользователь щелкает внутри круга, инициализируем tailMarker и рисуем путь между этими двумя маркерами
1 происходит как ожидалось. Но когда пользователь нажимает внутри круга, в function(overlay,point)
значение overlay
не равно нулю, а значение point
равно нулю. Из-за этого код не может инициализировать tailMarker.
Может кто-нибудь сказать мне выход.
GEvent.addListener(map, "click", function(overlay,point) {
if (isCreateHeadPoint) {
// add the head marker
headMarker = new GMarker(point,{icon:redIcon,title:'0'});
map.addOverlay(headMarker);
isCreateHeadPoint = false;
// draw the circle
drawMapCircle(point.lat(),point.lng(),1,'#cc0000',2,0.8,'#0',0.1);
} else {
// add the tail marker
tailMarker = new GMarker(point,{icon:greenIcon,title:''});
map.addOverlay(tailMarker);
isCreateHeadPoint = true;
// load thes path from head to tail
direction.load("from:" + headMarker.getPoint().lat()+ ", " +
headMarker.getPoint().lng()+ " " +
"to:" + tailMarker.getPoint().lat() + "," +
tailMarker.getPoint().lng(),
{getPolyline:true});
}
});