在Google Map API 3中突出显示美国州和城市的边界

时间:2011-06-17 16:10:26

标签: google-maps-api-3 polyline

我有一个场景,我必须在地理编码后突出显示边框并遮盖州或城市(当我得到lang和lat时)。

我该怎么做呢,我是否需要有一个城市的完整信息用折线围绕它?或者有没有地图API可以为我做这个。

5 个答案:

答案 0 :(得分:10)

真。 Google不提供此功能。那么我们能做什么......我们可以拥有国家边界的纬度/长度。我们必须自己绘制多边形。

我使用了this JS对象。并将其更改为Google地图对象(google.maps.LatLng)。

例如:

var statesobj = {"AK": [new google.maps.LatLng(70.0187, -141.0205),
new google.maps.LatLng(70.1292, -141.7291),
new google.maps.LatLng(70.4515, -144.8163)]}

所以,现在很容易。在这些纬度/长度上循环。你可以在美国的每个州绘制多边形。

所以这就是我提出的解决方案。如果你们知道一些更好的主意去做。请分享。

答案 1 :(得分:10)

答案 2 :(得分:5)

Google Maps API不允许您检索城市边界。不过,还有其他几个地方可以获得坐标:

Flickr API

有一个基于人们标记的照片的Flickr API,但它只有标记照片的人一样准确:所以它足以支持自举,但可能不适合制作:{{3 }}

自然地球数据

准确的替代方案是www.naturalearthdata.com。要从那里获取数据,您只需要提出两个请求:一个具有城市名称,另一个具有ID以获取参数:

unlock.edina.ac.uk/ws/search?name=berlin&gazetteer=naturalearth&format=json

然后

unlock.edina.ac.uk/ws/footprintLookup?format=json&identifier=14126951

并且您已经设置:)

<强> Mapzen

如果您可以预先获取数据,请访问Mapzen,他们拥有完整且非常准确的数据库:http://karya-blog.blogspot.com/2012/12/fetching-city-polygons-with-flickr-api.html

答案 3 :(得分:0)

我担心google maps API不提供访问区域(国家,州,城市......)形状的任何方法。

如果要突出显示区域,则必须根据其他地方获取的数据创建自定义叠加层。

答案 4 :(得分:0)

现在,基本地图示例包含“mashup”数据。当识别数据被馈送到Web服务时,结果输出可以精确定位地图上的位置。 它显示了地理地图标记如何放置在地图上以标识特定位置。地图标记可以使用默认图标(显示)或自定义图像,标尺甚至图表。 (可选)可以将地图配置为在单击标记时显示“地图标记信息”窗口,其中包含其他特定于位置的数据。

它包括数据驱动的彩色区域(在这种情况下,代表邮政编码)覆盖例如华盛顿特区的地图。 Logi Info可以使用GIS边界数据为州,县,城市,学区和其他区域生成区域叠加。与地图标记一样,可以单击区域以显示包含详细数据的弹出信息窗口。