0

这真的让我有点困扰。我很确定这是可以做到的,但是对于我的一生,我找不到任何关于此的文档。

所以我经常去谷歌地图,我想做的只是获取一个位置的地址,而不是“从这里到这里的路线”,直到最近我才发现 bing 地图通过右键单击具有该功能。

但是现在我希望使用他们的 api 将此功能集成到应用程序中。我已经查看了文档和 sdk 沙箱,以及谷歌的 playgound 编码器沙箱,但我仍然没有找到这个功能。Bing 确实有一个方法 getlocation(); 但这是针对经纬度的,我正在寻找实际地址。

我不知道,但这似乎是地图服务中的基本功能。

4

1 回答 1

1

必应有鼠标右键单击事件。结果,您会在地图上获得此点击的 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

于 2013-06-20T09:20:01.807 回答