2013-10-31 55 views
0

我需要用墨卡託投影點由緯度和logitude的地方在我的SVG application.I已經serached了很多,我得到了這些鏈接,mercator投影不能正常工作?

http://en.wikipedia.org/wiki/Mercator_projection
Covert latitude/longitude point to a pixels (x,y) on mercator projection

CODE

  //this lat and long is for chicago 
      var latitude = 41.850033; // (φ) 
      var longitude = -87.65005229999997; // (λ) 

      var PI = 3.14; 
      var mapWidth = 750; 
      var mapHeight = 380; 

      // get x value 
      var x = (mapWidth * (180+longitude)/360) % mapWidth + (mapWidth/2); 

      // convert from degrees to radians 
      var latRad = latitude * PI/180; 

      // get y value 
      var mercN = Math.log(Math.tan((PI/4) + (latRad/2))); 
      var y = (mapHeight/2) - (mapWidth * mercN/(2 * PI)); 

我在我的應用程序中使用了這段代碼,但它對我不起作用。
請幫助從經度和緯度得到x和y的位置。 任何建議,不勝感激。

回答

0

你忘了地圖和乘以X因素的左上角和右下角,y座標給出正確的地圖投影。您可以使用固定的地圖座標,即一個因子,或者您可以計算邊界框:Convert lat/lon to pixel coordinate?,然後計算適合地圖寬度和高度的世界寬度和高度。