如何使用Bing Maps AJAX Control v7获得鼠标单击的lat/lon

And*_*air 10 javascript bing-maps

我正在使用最新版本的API(v7),并希望在鼠标点击时添加图钉...

var mapSettings = {
    'credentials': 'myCredentials',
    'mapTypeId': Microsoft.Maps.MapTypeId.road,
    'enableSearchLogo': false,
    'showMapTypeSelector': false,
    'showScalebar': false
};

var $map = $('#map');
var map = new Microsoft.Maps.Map($map.get(0), mapSettings);
Microsoft.Maps.Events.addHandler(map, 'click', function (e) {
    var latitude = ?
    var longitude = ?
    var location = new Microsoft.Maps.Location(latitude, longitude);
    var pushpin = new Microsoft.Maps.Pushpin(location, {
        'draggable': true
    });
    map.entites.push(pushpin);
});
Run Code Online (Sandbox Code Playgroud)

如你所见,我陷入了点击处理程序:如何获得点击的纬度和经度?

bin*_*nar 17

好的,钉了它.以下是您感兴趣的代码:

if (e.targetType == "map") {
  var point = new Microsoft.Maps.Point(e.getX(), e.getY());
  var loc = e.target.tryPixelToLocation(point);
  var location = new Microsoft.Maps.Location(loc.latitude, loc.longitude);
  ......
}
Run Code Online (Sandbox Code Playgroud)

e.target.getLocation() 仅当目标是图钉,信息框等时才有效.实际地图上的点击是不同的.