18

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

我该怎么做,我需要一个城市的完整信息来用折线包围它吗?或者有没有一种方法可以让地图 API 为我做到这一点。

4

5 回答 5

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)]}

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

所以这就是我想出的解决方案。如果你们知道一些更好的想法来做到这一点。请分享。

于 2011-07-02T11:03:26.027 回答
10

你也可以试试谷歌地理图表:

http://code.google.com/apis/chart/interactive/docs/gallery/geochart.html

于 2011-08-16T18:11:13.157 回答
5

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

Flickr API

有一个基于人们标记的照片的 Flickr API,但它仅与标记照片的人一样准确:因此它足以用于引导,但可能不适用于生产: http: //karya-blog.blogspot.com/2012/ 12/fetching-city-polygons-with-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,他们有一个完整且非常准确的数据库:https ://mapzen.com/data/borders/

于 2015-08-15T08:17:22.530 回答
0

恐怕谷歌地图 API 没有提供任何访问区域(国家、州、城市……)形状的方法。

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

于 2011-06-19T00:38:25.900 回答
0

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

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

于 2012-03-06T08:26:46.400 回答