4

我正在开发一个路由应用程序,我正在按照 iOS 位置和地图编程指南中的说明进行操作。

我已通过执行以下操作将我的应用程序注册为路由应用程序:

1) 包含 MKDirectionsApplicationSupportedModes 键(支持汽车、公共汽车、行人)

2) 包含 Directions.geojson 文件(内容如下)

3)配置一个特殊的文档类型(MKDirectionsRequest)来处理传入的方向请求

4) 在应用程序 openURL sourceApplication 注解中添加处理传入方向的逻辑

具体来说,Apple 提供了有关如何在模拟器中进行测试的说明,因此我也有:

1) 将我的调试方案设置为使用提供的 Directions.geojson 文件

2)在设备或模拟器上安装应用程序后,我离开应用程序并启动地图应用程序以指定方向的起点和终点。

此时,Apple 的文档表明,如果设置正确,我应该会看到一个选项来选择我的应用程序(将方向发送到)。苹果说...

如果您的应用程序的地理覆盖范围文件有效并且包含两个指定的点,那么您的应用程序应该会出现。如果没有,请检查您所在地理区域的点以确保它们是正确的。

我没有将我的应用程序视为一个选项,并且我很确定 geojson 文件是有效的。我已经在 geojsonlint.com 上对其进行了验证,并且可以看到一个覆盖美国大部分地区的盒子。我看到文件在安装时被复制到 sim 中;但是,我仍然无法在地图应用程序中选择将路由路线发送到我的应用程序。

有任何想法吗?

{ "type": "MultiPolygon",
    "coordinates": [
                    [[[-124.747009,48.396385], [-64.525452,48.031264], [-72.597656,23.644524], [-125.354004,32.240683]]]
                    ]

}
4

1 回答 1

0

我引用文档苹果

指定地理 Coverage 文件内容

地理覆盖文件必须包含一个定义受支持地理区域边界的 MultiPolygon 形状。单个多多边形可能包含多个子多边形,每个子多边形定义单个地理区域周围的边界。每个子多边形包含四个或更多定义多边形边界的坐标值。根据 GeoJSON 规范,每个子多边形都必须代表一个封闭区域——也就是说,第一个和最后一个坐标值必须始终相同。因此,您必须至少指定四个点来定义一个三角形区域,这是最简单的形状。当然,您使用更多的点来定义更复杂的多边形。

清单 7-2 显示了一个地理覆盖文件示例,该文件指定了两个单独的区域:一个在旧金山附近,一个在芝加哥附近。请注意,每个区域的坐标都被似乎是一组额外的括号包围。在每种情况下,第一个开括号标记整个多边形形状的开始,第二个开括号定义外部边界多边形的开始,第三个开括号标记第一个坐标的开始。

{ "type": "MultiPolygon",
  "coordinates": [
    [[[-122.7, 37.3], [-121.9, 37.3], [-121.9, 37.9], [-122.7, 37.9], [-122.7, 37.3]]],
    [[[-87.9, 41.5], [-87.3, 41.5], [-87.3, 42.1], [-87.9, 42.1], [-87.9, 41.5]]]
    ]
}

因此,我认为您不会关闭该区域。

于 2014-10-23T13:35:40.237 回答