![](/img/trans.png)
[英]Google maps API 3, closing polygons (same as “Google maps polygons”)
[英]Incorporating polygons into Google Maps API 3
我的Web应用程序的一部分将允许用户单击地图的特定区域,并突出显示页面上我在Google Maps中的该部分。 这在很多网站上都是很标准的,但是我很难处理那里的数据量。
我正在尝试从http://global.mapit.mysociety.org/生成数据,这为我要转换为多边形的实际坐标提供了多个输出选项,但是导出WKT,GeoJSON或KML的过程非常庞大-每个实例700-900 KB,而且我不明白该网站如何能够在不加载此数据的情况下合并这些多边形(Chrome浏览器不会显示任何加载超过50 KB的项目。)
我下载了一些WKT文件,然后使用PHP将其转换为javascript字符串,因此:
var coordinates = [
new google.maps.LatLng(1.1, 1.2),
...
new google.maps.LatLng(1.1, 1.2)
];
我在大约10个位置执行了此操作,保存了文件,总共9 MB-全部来自这些超长coordinates
字符串...
如何有效地执行此操作,因为显然这不是将面数据合并到动态地图加载中的方法?
不要在服务器端进行翻译,字符串new google.maps.LatLng
会炸毁您的文件。
当使用例如geoJSON时,您可以通过loadGeoJson
加载多边形。
链接页面使用geoJSON绘制多边形(例如, http ://global.mapit.mysociety.org/area/686972.html加载以下数据: http ://global.mapit.mysociety.org/area/686972.geojson ? simple_tolerance = 0.0001〜100KB)
另一个选择是在服务器端对每个多边形(折线)进行编码,然后通过JS重新组合/解码多边形。 有关更多详细信息,请参见https://developers.google.com/maps/documentation/utilities/polylinealgorithm和https://developers.google.com/maps/documentation/javascript/reference#encoding 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.