所以我有几个(ginormous) KML,我已经成功地将它们转换为180多个Google-Maps编码的多边形/折线。谁有任何经验或想法,如何将这些转换成适合在ios4的MapKit上使用的MKPolyline对象?
这就是我现在看到的……
var sw = new GLatLng(25.8373770496571, -106.645646000733);
var ne = new GLatLng(36.50070452533, -93.50813136878951);
var bounds = new GLatLngBounds(sw, ne);
var mapZoomLevel = map.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(31.16904078749355, -100.07688868476126)
map.setCenter(mapCenter, mapZoomLevel);
var polygon1 = new GPolygon.fromEncoded({
polylines: [
{points: "sxw}En~}dR@loC?puCAtt@[.......]@T^DE?z_@G^Jjw@G?",
levels: "PBADDCCCDDACDDDDDDDBCB[.......]@EGFDEFDEDCCCDEDP",
color: "#0000ff",
opacity: 0.7,
weight: 3,
numLevels: 18,
zoomFactor: 2}],
fill: true,
color: "#0000ff",
opacity: 0.4,
outline: true
});
map.addOverlay(polygon1);发布于 2010-07-13 02:43:30
答案是不要进行这种类型的从KML到编码的GPolygon再到MKPolyline的转换。完全没有必要执行GPolygon步骤。只要有KML而不是压缩的KMZ,就可以解析XML来获得坐标字符串来填充MKPolyline。
如果你真的想从编码的GPolygon转到MKPolyline,你必须解码GPolygon。看起来Stefano Buliani看透了how to do this
我发现最有用的一些最适用的例子是Reluctant Blogger和The Navarra Group以及Mostly Harmless和(用于解析) SeismicXML。
所有这些都是从尝试获取一个shapefile并使其在MapKit中运行开始的。虽然这不是一个简单的解决方案,但我现在已经有了一个可以工作的(仅限Mac的)进程。(提示: shapefile to kml让你失望了?使用GDAL框架的一部分ogr2ogr )。
https://stackoverflow.com/questions/3221061
复制相似问题