在自定义楼层图像上映射GPS坐标

时间:2012-08-16 06:13:13

标签: ios math map gps coordinates

嗯,我有一张地板的图像。我需要做的是获取用户的当前位置并将其显示在楼层图像上。我知道我需要将lat和lon转换为像素并将其指向自定义地图。

我遵循了Convert GPS coordinates to coordinate plane。但我无法正确理解它。差远了。可能是因为,建筑物的面积很小(不管它是否可以开发用于小面积)。我抬头看了一些其他问题。它只是硬编码。我不想这样做。

如果有人向我提供任何逻辑思想或代码示例或教程,那将会很有帮助。什么都没事。提前致谢!! : - )

lat = 12.875538;
longitudeVal = 80.227112;

delta_lat = 0.0001;      // Adjust Y
delta_long = 0.0001;    // Adjust X 

/* length */ delta_x = 130; // 130 
/* width */ delta_y = 70;  // 70

vertical_scale = delta_y/delta_lat;
horizontal_scale = delta_x/(cos(lat)*delta_long);

/* lati */ x = (6378.1 * (1+sin(lat))/cos(lat));
/* long */ y = (6378.1 * longitudeVal); 

x = x / horizontal_scale;
y = y / vertical_scale;

/*    y = ((-1 * lat) + 90) * (delta_x / 180);
x = (longitudeVal + 180) * (delta_y / 360);*/

NSLog(@"lat %f long %f x %d y %d",lat,longitudeVal,x,y); 

1 个答案:

答案 0 :(得分:0)

我认为你好像犯了一个非常常见的错误。您的纬度和经度以度为单位进行测量,但sin和其他三角函数采用以弧度为单位的参数。

你可能也犯了其他错误,但只是告诉我们代码是错误的而不告诉我们它是如何错误的并不能给我们提供很多线索。