GoogleMaps API v3-从信息窗口中的链接触发事件
我有一个右键单击上下文菜单的侦听器,它允许我执行特定于特定信息窗口的操作。例如,以下是打开并填充方向面板的代码:GoogleMaps API v3-从信息窗口中的链接触发事件,maps,Maps,我有一个右键单击上下文菜单的侦听器,它允许我执行特定于特定信息窗口的操作。例如,以下是打开并填充方向面板的代码: google.maps.event.addListener(contextMenu, 'menu_item_selected', function(latLng, eventName){ switch(eventName){ case 'directions_from_click':
google.maps.event.addListener(contextMenu, 'menu_item_selected', function(latLng, eventName){
switch(eventName){
case 'directions_from_click':
showDirections();
geocoder.geocode({latLng: latLng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
fAddress = results[0].formatted_address;
$('#start').val(fAddress);
$('#panelWrapper').focus();
}
}
});
$('#panelWrapper').focus();
break;
case 'directions_to_click':
showDirections();
geocoder.geocode({latLng: latLng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
fAddress = results[0].formatted_address;
$('#end').val(fAddress);
$('#panelWrapper').focus();
}
}
});
$('#panelWrapper').focus();
break;
}
});
除了右键单击上下文菜单外,我还希望在信息窗口中有一个链接,在单击时执行相同的操作:
<a class="fromLink">Directions from here</a>
这里的方向
如何添加此链接的侦听器以执行类似于上下文菜单的操作?我一直在试验addDomListener函数,但我不确定这是否正是我所需要的。我在API中找不到任何东西,所以我只是通过onclick事件将LatLng传递到函数中以填充方向输入。很难看,但有点像这样:
function addMessageMarker(marker, addlInfo){
var position = String(marker.getPosition());
var fromLink = '<a class="infoLink" onClick="getFrom("' + position + '")">Directions from here</a> - ';
... //bunch of other stuff
}
function getFrom(position) {
showDirections();
//Convert the string value into a latLng
var latLng = position.replace("(","");
latLng = latLng.replace(")","");
latLng = latLng.replace(" ","");
latLngArr = latLng.split(",");
lat = parseFloat(latLngArr[0]);
lng = parseFloat(latLngArr[1]);
latLng = new google.maps.LatLng(lat,lng);
geocoder.geocode({latLng: latLng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
fAddress = results[0].formatted_address;
$('#start').val(fAddress);
}
}
});
$('#panelWrapper').focus();
}
函数addMessageMarker(marker,addlInfo){
var position=String(marker.getPosition());
var fromLink='此处的方向-';
…一堆其他的东西
}
函数getFrom(位置){
showDirections();
//将字符串值转换为latLng
var latLng=位置。替换(“(”,”);
latLng=latLng。替换(“)”,“);
latLng=latLng。替换(“,”);
LATLNGAR=latLng.split(“,”);
lat=parseFloat(latLngArr[0]);
液化天然气=parseFloat(Latlngar[1]);
latLng=新的google.maps.latLng(lat,lng);
geocoder.geocode({latLng:latLng},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
如果(结果[0]){
FadAddress=结果[0]。格式化的\u地址;
$('开始').val(时尚服饰);
}
}
});
$('#panelWrapper').focus();
}