我有一个功能,我可以点击地图给坐标输入坐标。
我想在地图上获得两个点的两个坐标,通过两次点击地图获取它们之间的方向。
我该怎么做?
var pointa;
var pointb;
google.maps.event.addListener(map,'click',function(event){
var point=new google.maps.LatLng(event.latLng.lat(),event.latLng.lng());
document.path.lat1.value=event.latLng.lat();
document.path.lon1.value=event.latLng.lng();
pointa=new google.maps.Marker({
map: map,
position: point,
icon:'http://google.com/mapfiles/kml/paddle/A.png ',
draggable:true
});
});
答案 0 :(得分:0)
点击时,您已经在创建标记了。您可以通过查看pointa
轻松告诉他们何时再次点击。 pointa
将以值undefined
开头。该值是“假的”,但是当您在Marker
中存储Google地图pointa
引用时,它不再是虚假的。因此,您可以使用“if (!pointa)
”来了解您正在处理的第一次点击:
var pointa;
var pointb;
google.maps.event.addListener(map, 'click', function (event) {
var point = new google.maps.LatLng(event.latLng.lat(), event.latLng.lng());
document.path.lat1.value = event.latLng.lat();
document.path.lon1.value = event.latLng.lng();
if (!pointa) {
// This is the first click
pointa = new google.maps.Marker({
map: map,
position: point,
icon: 'http://google.com/mapfiles/kml/paddle/A.png ',
draggable: true
});
}
else {
// This is a subsequent click (the second, third, etc.)
}
});