我有一个页面,其中包含一个带有起始位置和结束位置的地图。我在它们之间运行了一条路线,以获得显示路线的漂亮线条。我目前正在使用 Bing,但也尝试过使用 Google。我想知道这条路线经过哪些状态,然后我可以用特定信息覆盖这些状态。
任何有关如何获得此信息的建议将不胜感激。
我正在为 Bing 和 Google 使用 AJAX SDK。使用 js/jquery 处理所有本地内容。
我有一个页面,其中包含一个带有起始位置和结束位置的地图。我在它们之间运行了一条路线,以获得显示路线的漂亮线条。我目前正在使用 Bing,但也尝试过使用 Google。我想知道这条路线经过哪些状态,然后我可以用特定信息覆盖这些状态。
任何有关如何获得此信息的建议将不胜感激。
我正在为 Bing 和 Google 使用 AJAX SDK。使用 js/jquery 处理所有本地内容。
您可以在 Google Maps API 上使用反向地理代码请求来确定特定点所处的状态。所以我想您可以处理随方向请求返回的点数组并提取每个点的状态。
在 v2 API 中,这将是:
results.AddressDetails.AdministrativeArea.AdministrativeAreaName
我认为这在v3中更直观一些。您可以检查结果中的 AddressComponents 数组以找到合适的类型:
{
"long_name":"California",
"short_name":"CA",
"types":["administrative_area_level_1","political"]
}
您可以通过对路线上的位置数组使用分而治之来优化反向地理编码(如果第一个和中间位置的状态相同,则不要对中间点进行反向地理编码)。
MapQuest Directions Web 服务有一个 stateBoundaryDisplay 标志,它将在叙述中明确地放置州边界交叉口(即“Crossing into statename”)。您可以通过对叙述步骤的文本搜索轻松地从 json/xml 响应中提取该信息。
http://www.mapquestapi.com/directions/#advancedoptions
希望有帮助。
罗马
您可以使用 shapefile 和 SharpMap 之类的库或 mysql 空间、sql server 空间等地理数据库来创建自己的服务。然后您只需运行交叉点查询即可发现您的路线经过哪些状态。这种方法适用于任何多边形集,因此您可以轻松地将解决方案扩展到县、投票区、学区等。