我正在使用最新版本的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); });
如你所见,我被困在点击处理程序中:我如何获得纬度和经度的点击?
解决方法
好吧,钉了以下是您感兴趣的代码:
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); ...... }
e.target.getLocation()仅在目标是图钉,信息框等时有效.实际地图上的点击是不同的.