将多边形导入Google我的地图
Import Polygon Into Google My Maps
背景
我有一个谷歌地图,用JavaScript API创建。。我有一组多边形,它们覆盖在地图上。
这些多边形最初是KML文件,但已转换为编码的多边形。编码算法信息:https://developers.google.com/maps/documentation/utilities/polylinealgorithm
示例:
oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t'praM
这是俄亥俄州的一个4点多边形。
问题
我的问题是,有没有办法将这些导入谷歌我的地图?我想导入这些,以便编辑它们。
答案是否定的,编码的多边形无法导入。要将形状导入"我的地图",必须首先将其转换为KML文件。
BlueCollar提出了第一步,即使用Google的编码API将编码形状解码为Lat/Lng对。
var encodedPath = 'oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t'praM';
var path = google.maps.geometry.encoding.decodePath(encodedPath);
对于示例编码值,它将返回:
(39.91816, -85.33082),(38.013470000000005, -85.86915),(38.22091, -83.01270000000001),(39.76632, -83.02369),(39.91816, -85.33082)
然后需要将这些对插入到KML文件中:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Test Shape</name>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-85.33082,39.91816
-85.86915,38.01347
-83.01270000000001,38.22091
-83.02369,39.76632
-85.33082,39.91816
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</kml>
然后可以导入KML文件。
尝试对编码字符串调用decodePath()
,即:
let encodedPath = 'oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t'praM';
let path = google.maps.geometry.encoding.decodePath(encodedPath);
相关文章:
- 谷歌地图API标记没有标记我的位置
- 我的地图数据's不会使用php存储在mysql数据库中
- 搜索按钮谷歌地图在我的vf页面上不起作用
- 无法让谷歌地图显示在我的网站上
- 开放图层导出为 KML 并保留我的地图样式
- 为什么我的谷歌地图API不会渲染
- D3地图没有显示,尽管它在我的网络服务器上
- melonjsapi不会加载我的地图,也不会收到任何错误
- javascript/google maps:为什么我在哪里初始化我的地图(内部与外部函数)很重要
- 反向地理编码不适用于我的地图
- 为什么我的地图函数额外添加 2 个空的“li”
- 谷歌地图API重新定位我的地图
- Google上的URL变量'我的地图'
- 为什么每次精灵移动时我的地图都会消失
- 为什么我的地图不显示在手风琴标签
- 将多边形导入Google我的地图
- 我的地图只在页面刷新时更新,而不是在地图刷新时更新
- OpenLayers没有添加标记到我的地图
- 如何删除标记,然后将标记添加到我的地图
- 公共我的地图:如何让用户更容易地在他们的安卓谷歌地图应用程序启动它