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

Tah*_*ram 18 polyline google-maps-api-3

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

我怎么能这样做,我是否需要有一个城市的完整信息用折线围绕它?或者有没有一种方法可以让map API为我做到这一点.

Tah*_*ram 10

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

我用过这个 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)]}
Run Code Online (Sandbox Code Playgroud)

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

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

  • 我在哪里可以检索其他国家边界的纬度/经度值? (5认同)
  • 你能给我们一个代码示例吗? (3认同)

Woj*_*nik 5

Google Maps API不允许您检索城市边框.但是,您可以从其他几个地方获取坐标:

Flickr API

有一个基于人们标记的照片的Flickr API,但它只有标记照片的人一样准确:所以它足以引导,但可能不适合制作:http://karya-blog.blogspot.com/2012/ 12 /取市多边形与- Flickr的-api.html

自然地球数据

准确的替代方案是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,它们拥有完整且非常准确的数据库:https://mapzen.com/data/borders/