【问题标题】:highlight a list of streets on a map在地图上突出显示街道列表
【发布时间】:2011-09-15 10:32:42
【问题描述】:

我们有一个送货地址数据库。它由以下数据组成;

StreetName
NumberFrom
NumberTo
ZipcodeId (points to seperate table with zipcodes, which holds cityName)
StoreId

是否可以在 GoogleMaps(首选)、Bing、OpenStreetMap 等地图上突出显示所有这些地址?

我知道如何添加折线,并且过去曾为地址进行过地理编码。

数据的一个可能问题是,它覆盖了整条街道,他们实践的做法是将 NumberTo 设置为 9999。如果我使用“StreetName 999,City”将地址绘制到 google Earth 中,它将把点放在街道中间。

还尝试了一个随机数,它将标记放置在建筑物上而不是街道上。

我不知道 GoogleMaps 是否有所不同..

更新

我认为 GoogleMaps API 中的 DirectionsService 是可行的方法,现在我只需要弄清楚是否以及如何在地图上多次使用它。

【问题讨论】:

    标签: google-maps google-maps-api-3 geocoding google-maps-api-2


    【解决方案1】:

    成功了!

    我能够遍历所有地址,为每个地址发出 DirectionsService 请求,从街道开始到街道结束。提取 DirectionsDisplay 使用的 GeoPoints,将其存储到数据库中,现在可以在地图上为每条道路绘制折线。

    每次显示地图时,我都可以遍历地址(仅限内部使用)。但这仍然是一个性能问题,也不确定谷歌每天会处理多少请求。通过将其存储在数据库中,我只需要 Google 计算一次。

    【讨论】:

      【解决方案2】:

      是的,您可以将地址转换为地理点,然后在地图上绘制地理点。先看看here

      【讨论】:

        【解决方案3】:

        它可以,但仅限于世界的某些地区 - 例如。美国

        但是你需要准备你的地址 - 让我们在 div/spans 中说 - 然后在 onload 文档上,你调用 API

        我使用 Garmin Edge 中的 Lat/Lng 进行此操作 - 不同之处在于您需要将地址转换为 lat/lng,然后才能将它们放置在地图画布上。

        迈克

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多