1

我正在尝试将右键单击事件添加到谷歌地图。我的代码出现以下错误:Microsoft JScript 运行时错误:无法获取属性“_ e3 ”的值:对象为空或未定义。我不确定要改变什么。

var map;


var directionsDisplay;
var directionsService = new google.maps.DirectionsService();

function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
  var mapOptions = {
    zoom: 8,
    center: new google.maps.LatLng(-34.397, 150.644),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  map = new google.maps.Map(document.getElementById('mapsGoogle'),
      mapOptions);
      directionsDisplay.setMap(map);
      directionsDisplay.setPanel(document.getElementById('directions-panel'));
      HomeTestMarker();

}

 google.maps.event.addListener(map, 'rightclick', function(event ) {
         var lat = event.latLng.lat();
         var lng = event.latLng.lng();
        alert("Lat=" + lat + "; Lng=" + lng);
    });
4

1 回答 1

2

LatLng 对象实际上具有 lat 和 lng函数而不是属性。

示例: latLng.lat();

所以你实际上应该是:


google.maps.event.addListener(map, 'rightclick', function(event ) {
     var lat = event.latLng.lat();
     var lng = event.latLng.lng();
    alert("Lat=" + lat + "; Lng=" + lng);
});

编辑 这是一个有效的 jsFiddle 示例http://jsfiddle.net/7rZRv/

于 2013-06-20T22:36:09.927 回答