这真让我烦恼不已。我很确定这可以做到,但对于我的生活,我找不到任何关于此的文件。
所以经常我去谷歌地图,我想要做的就是获取一个地点的地址,而不是“从这里到这里的方向”,直到最近我才发现bing地图具有右键单击的功能。
但是现在我希望使用他们的api将此功能集成到应用程序中。我已经浏览了文档和sdk沙箱,以及谷歌的playgound编码器沙箱,我仍然没有找到这个功能。 Bing确实有一个方法getlocation();但这是为了lat和long而我正在寻找实际的地址。
我不知道,但这似乎是地图服务的基本功能。
答案 0 :(得分:1)
Bing有鼠标右键单击的事件。 因此,您可以在地图上获得此点击的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;
}
您可以在此处看到这些转换的文档: