必应有鼠标右键单击事件。结果,您会在地图上获得此点击的 pixelX,pixelY 坐标(红色矩形中)。
你可以在这里看到:http: //www.bingmapsportal.com/isdk/ajaxv7#AttachMapEvents3
然后通过使用转换函数可以得到纬度和经度。虽然“levelOfDetail”属性是地图的缩放(但我对此并不担心)。
public static void PixelXYToLatLong(int pixelX, int pixelY, int levelOfDetail)
{
double mapSize = MapSize(levelOfDetail);
double x = (Clip(pixelX, 0, mapSize - 1) / mapSize) - 0.5;
double y = 0.5 - (Clip(pixelY, 0, mapSize - 1) / mapSize);
latitude = 90 - 360 * Math.Atan(Math.Exp(-y * 2 * Math.PI)) / Math.PI;
longitude = 360 * x;
}
您可以在此处查看这些转换的文档:
http://msdn.microsoft.com/en-us/library/bb259689.aspx