我拍了一张大图并将其分成方形图块(256x256)。它也适用于谷歌地图,因此整个图像分为z_x_y.png(取决于缩放级别)。
z = 0 => 1x1瓷砖 z = 1 => 2x2 tilesthe z = 2 => 4x4瓷砖
我的imageMap是“平坦的”,并不是基于像worldmap这样的球体。
我将在Windows移动应用程序(没有谷歌API)上使用此地图,并且所有“兴趣点”都按经度和纬度插入数据库。因为我必须为windows mobile制作这个,所以我只有XY坐标系。
只需使用它就足够了:
MAP_WIDTH = 256*TILES_W;
MAP_HEIGHT = 256*TILES_H;
function convert(int lat, int lon)
{
int y = (int)((-1 * lat) + 90) * (MAP_HEIGHT / 180);
int x = (int)(lon + 180) * (MAP_WIDTH / 360);
ImagePoint p = new ImagePoint(x,y); // An object which holds the coordinates
return p;
}
或者我需要投影技术吗?
提前致谢。 如果不清楚,请询问。
答案 0 :(得分:1)
如果您希望感兴趣的点在图像上正确对齐,则需要确保投影和坐标系与图像中使用的相匹配。听起来你制作了这张照片?所以大概你知道投影吗?只需确保convert
使用相同的投影即可。
我不确定它是否相关,但Google地图使用a spherical mercator projection based on WGS84。