我已经使用谷歌地图api制作了我自己的地图。它是一种基于非常大的图像的自定义地图类型。
有没有什么办法可以重置闭锁坐标,使它们相对于我的图像,而不是地球的默认闭锁坐标?
即制作图像的左上角(0,0)。
谢谢。
发布于 2012-06-26 00:17:53
是的,使用您自己的custom projection definitions是可能的。我用一个简单的投影修改了这个lunar surface example,它的左上角是(0,0),右下角是(50,50)。您很可能需要更改这些值才能使用您的应用程序。
我使用了一些限制,看起来仍然是纬度的+/- 90和经度的+/- 180的硬限制。经度将在180度左右回绕。也就是说,似乎不可能定义一个自定义坐标,比如说(100,200)。
查看修改后的月球表面demo,点击任意位置,在警告中显示自定义latLng:
http://jsfiddle.net/yV6xv/79/
function percentProjection() {};
percentProjection.prototype.fromLatLngToPoint = function(latlng) {
// pixel size of tile at zoom 0
var max = 256;
// define bottom-right corner as (50, 50)
var x = max * latlng.lng() / 50;
var y = max * latlng.lat() / 50;
return new google.maps.Point(x, y);
};
percentProjection.prototype.fromPointToLatLng = function(pixel) {
// inverse conversion
var max = 256;
var lng = pixel.x / max * 50;
var lat = pixel.y / max * 50;
return new google.maps.LatLng(lat, lng);
};https://stackoverflow.com/questions/11192281
复制相似问题