我正在使用ImageMapType在Google地图上呈现自定义图片(API V3)。我想在地图上得到某个Lat / Lng的X,Y.这适用于地图的中心(位于Lat 0和Lng 0),但不适用于地图的其他部分,因为X,Y值是根据整个世界地图计算的,而不是根据整个世界地图计算的。我的自定义地图重叠到的世界。
我怎样才能在图片上得到正确的X,Y值?
我用于查找X和Y的算法如下:
double latitude = location.getLatitude();
double longitude = location.getLongitude();
int mapWidth = 800;
int mapHeight = 450;
// get x value
double x = (mapWidth*(180+longitude)/360) % mapWidth+(mapWidth/2);
// convert from degrees to radians
double latRad = latitude * java.lang.Math.PI / 180;
// get y value
double mercN = java.lang.Math.log(java.lang.Math.tan((java.lang.Math.PI / 4)+( latRad / 2)));
double y = (mapHeight / 2)-( mapWidth * mercN/(2 * java.lang.Math.PI));
System.out.println("X : " + (x - (mapWidth / 2)) + " Y: " + y);
答案 0 :(得分:0)
我不确定,这会解决你的问题,但可能会对你有所帮助:
https://developers.google.com/maps/documentation/javascript/reference?hl=fr#Projection