Javascript Bing地图从像素位置转换为经纬度

Javascript Bing地图从像素位置转换为经纬度,javascript,coordinates,bing-maps,bing-api,Javascript,Coordinates,Bing Maps,Bing Api,这就是交易,我想在地图的左上角有一个大头针。所以我想每次我在地图上“旅行”的时候,都是为了找到左上角的绳子,然后把别针拖过来。 使用以下参考,我创建了数学。然而,它似乎不起作用 正如代码所示,我有一个固定的lat和lon,所以如果我首先生成像素x,Y,然后再次尝试获得lat-lon,我就会知道这是成功的!但是,这是控制台输出 x:520755.97951431107,y:3.820808909668405 150,54.563427999999 这是map元素的html: 周围还有其他因素。

这就是交易,我想在地图的左上角有一个大头针。所以我想每次我在地图上“旅行”的时候,都是为了找到左上角的绳子,然后把别针拖过来。 使用以下参考,我创建了数学。然而,它似乎不起作用

正如代码所示,我有一个固定的lat和lon,所以如果我首先生成像素x,Y,然后再次尝试获得lat-lon,我就会知道这是成功的!但是,这是控制台输出

x:520755.97951431107,y:3.820808909668405

150,54.563427999999

这是map元素的html:
周围还有其他因素。 你知道为什么这是错误的吗? 谢谢你

var latitude = 54.563428;
var longitude = -1.212623;
var sinLatitude = Math.sin(latitude * Math.PI / 180);
var pixelX = ((longitude + 180) / 360) * 256 * Math.pow(2, map.getZoom());
var pixelY = (0.5 - Math.log((1 + sinLatitude) / (1 - sinLatitude)) / (4 * Math.PI)) * map.getZoom();
console.log("x:" + pixelX + ", y:" + pixelY);

var mapSize = map.getZoom();
var x = (Clip(pixelX, 0, mapSize - 1) / mapSize) - 0.5;
var y = 0.5 - (Clip(pixelY, 0, mapSize - 1) / mapSize);

mainPushPinDockLatitude = 90 - 360 * Math.atan(Math.exp(-y * 2 * Math.PI)) / Math.PI;
mainPushPinDockLongitude = 360 * x;

console.log(mainPushPinDockLongitude + "," + mainPushPinDockLatitude);

如果您总是希望图钉位于地图的左上角,为什么不将其作为标准HTML图像覆盖在地图的顶部呢。这将省去你做任何数学题的麻烦。例如:

<div style="position:relative;">
<div id="MyMap" style="position:relative;width:600px;height:400px;"></div>
<img src="mypin.png" style="position:absolute;top:50px;left:10px;></div>