获取iphone Map Kit的位置之间的所有坐标

时间:2010-12-17 19:15:57

标签: iphone google-maps mapkit latitude-longitude

任何人都可以告诉我如何获取位置之间的所有Lat,Long值...... ??? 作为实现的一部分,我希望在起始端点之间具有所有Lat,Long值来绘制路径。

提前致谢...

2 个答案:

答案 0 :(得分:3)

找到要点非常简单,不需要任何聪明的三角法。请注意,如果点之间的距离需要是特定的量 - 比如说每100米 - 则需要三角法。不过,我们会做简单的版本。

基本上你弄清楚纬度和经度之间的差异,决定你想要多少点(如上所述,“所有”是无限数),将距离除以点数,然后迭代他们。 (注意:我没有测试过这段代码,但你应该能够理解。)

// Making my own names for your start and stop coordinate, use your own
CLLocationCoordinate2D startPoint; // Your starting latitude and longitude
CLLocationCoordinate2D stopPoint;  // Ending latitude and longitude

CLLocationCoordinate2D newPoint;   // A newly-created point along the line

double latitudeModifier;    // Distance to add/subtract to each latitude point
double longitudeModifier;   // Distance to add/subtract to each longitude point

int numberOfPoints = 100;   // The number of points you want between the two points

// Determine the distance between the lats and divide by numberOfPoints
latitudeModifier = (startPoint.latitude - endPoint.latitude) / numbernumberOfPoints;
// Same with lons
longitudeModifier = (startPoint.longitude - endPoint.longitude) / numbernumberOfPoints;

// Loop through the points
for (int i = 0; i < numberOfPoints; i++) {
    newPoint.latitude = startPoint.latitude + (latitudeModifier * i);
    newPoint.longitude = startPoint.longitude + (longitudeModifier * i);

    // Do something with your newPoint here

}

答案 1 :(得分:0)

“全部”是什么意思?由于纬度/长度对是双倍的,所以你在谈论无数个点。

如果你想在两点之间画一条线,你可以使用CAShapeLayer在地图上画一条线来连接它们。

然而,“路线”一词意味着你想知道沿着道路行进的点。还有,你真正要求的是什么?人们可以开车的路线?步行?坐公交? MapKit本身并不能帮助您完成路由,您必须查看其他第三方框架。