5

我有一个页面,其中包含一个带有起始位置和结束位置的地图。我在它们之间运行了一条路线,以获得显示路线的漂亮线条。我目前正在使用 Bing,但也尝试过使用 Google。我想知道这条路线经过哪些状态,然后我可以用特定信息覆盖这些状态。

任何有关如何获得此信息的建议将不胜感激。

我正在为 Bing 和 Google 使用 AJAX SDK。使用 js/jquery 处理所有本地内容。

4

3 回答 3

2

您可以在 Google Maps API 上使用反向地理代码请求来确定特定点所处的状态。所以我想您可以处理随方向请求返回的点数组并提取每个点的状态。

在 v2 API 中,这将是:

results.AddressDetails.AdministrativeArea.AdministrativeAreaName

我认为这在v3中更直观一些。您可以检查结果中的 AddressComponents 数组以找到合适的类型:

{
    "long_name":"California",
    "short_name":"CA",
    "types":["administrative_area_level_1","political"]
}

您可以通过对路线上的位置数组使用分而治之来优化反向地理编码(如果第一个和中间位置的状态相同,则不要对中间点进行反向地理编码)。

于 2010-03-22T23:45:45.523 回答
1

MapQuest Directions Web 服务有一个 stateBoundaryDisplay 标志,它将在叙述中明确地放置州边界交叉口(即“Crossing into statename”)。您可以通过对叙述步骤的文本搜索轻松地从 json/xml 响应中提取该信息。

http://www.mapquestapi.com/directions/#advancedoptions

希望有帮助。

罗马

于 2011-11-18T22:07:46.083 回答
0

您可以使用 shapefile 和 SharpMap 之类的库或 mysql 空间、sql server 空间等地理数据库来创建自己的服务。然后您只需运行交叉点查询即可发现您的路线经过哪些状态。这种方法适用于任何多边形集,因此您可以轻松地将解决方案扩展到县、投票区、学区等。

于 2010-05-04T23:32:35.900 回答