Omr*_*ran 6 export kml google-maps-api-3
我的应用程序中有一个谷歌地图组件,允许用户绘制多边形,线条和标记.现在我想实现一个按钮,允许用户导出他/她在地图中绘制的东西的kml文件.
有关这种方法的最佳方法的任何建议.
您的意见和贡献非常感谢
我将我的想法总结为在用户绘制时存储坐标,然后当单击“输出 KML”按钮时,格式化保存的坐标数据并将其放置在要复制的文本区域中(除非有办法提示下载? )。
以下是当用户完成绘图元素时我如何保存数据:
(我不知道检测编辑的好方法。)
首先,为每种绘图类型(线条、多边形、标记)添加事件侦听器,以便在完成时触发。每种类型都需要一个单独的事件侦听器。这是 Polylines 的一个,每个侦听器将返回刚刚完成的绘图元素的类型。
google.maps.event.addDomListener(drawingManager, 'polylinecomplete', function(line) {
path = line.getPath();
document.getElementById("action").value += "#polyline\n";
for(var i = 0; i < path.length; i++) {
document.getElementById("action").value += path.getAt(i) + "\n";
}
});
Run Code Online (Sandbox Code Playgroud)
我将坐标直接放入共享文本区域,但它们应该放入数组变量数组中,其中一个变量用于多边形,一个变量用于折线,一个变量用于标记。
当读取这些内部变量时,将 Google Maps LatLngs 转换为 KML 格式经度、纬度、高度。您必须对每个元素的名称和描述发挥创意。
最后,当请求 KML 时,循环遍历标记、线和多边形变量以生成 KML 格式的元素,例如Point-coordinates, LineString, and Polygon-outerBoundaryIs
| 归档时间: |
|
| 查看次数: |
8762 次 |
| 最近记录: |