突出显示地图上的街道列表

时间:2011-06-15 10:48:50

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

我们提供了一个地址数据库。它由以下数据组成;

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

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

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

数据的一个可能问题是,它覆盖整个街道,他们的做法是将NumberTo设置为9999.如果我使用'StreetName 999,City'将地址绘制到Google地球中,它将把点放在中间的街道长度。

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

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

更新

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

3 个答案:

答案 0 :(得分:3)

成功!

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

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

答案 1 :(得分:0)

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

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

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

麦克

答案 2 :(得分:0)

是的,您可以将地址转换为GeoPoint,然后在地图上绘制GeoPoints。首先查看here