我有一个场景,我必须在地理编码后突出显示边框并遮盖州或城市(当我得到lang和lat时)。
我该怎么做呢,我是否需要有一个城市的完整信息用折线围绕它?或者有没有地图API可以为我做这个。
答案 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)
您还可以尝试Google地理图表:
http://code.google.com/apis/chart/interactive/docs/gallery/geochart.html
答案 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边界数据为州,县,城市,学区和其他区域生成区域叠加。与地图标记一样,可以单击区域以显示包含详细数据的弹出信息窗口。