Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将多边形导入Google My Maps 背景_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 将多边形导入Google My Maps 背景

Javascript 将多边形导入Google My Maps 背景,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一个谷歌地图,用JavaScript API创建。。我有一组多边形,它们是地图上的覆盖物 这些多边形最初是KML文件,但已转换为编码多边形。编码算法信息: 示例: oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t\praM 这是俄亥俄州的一个4点多边形 问题: 我的问题是,有没有办法将这些信息导入谷歌地图?我想导入这些,以便编辑它们。尝试调用编码字符串上的decodePath(),即: 让encodedPath='oosrFrdygOh_sJpchBoog@y{lPy

我有一个谷歌地图,用JavaScript API创建。。我有一组多边形,它们是地图上的覆盖物

这些多边形最初是KML文件,但已转换为编码多边形。编码算法信息:

示例:

oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t\praM
这是俄亥俄州的一个4点多边形

问题:
我的问题是,有没有办法将这些信息导入谷歌地图?我想导入这些,以便编辑它们。

尝试调用编码字符串上的
decodePath()
,即:

让encodedPath='oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t\praM';

让path=google.maps.geometry.encoding.decodePath(encodedPath);

答案是否,无法导入编码的多边形。要将形状导入到“我的地图”,必须首先将其转换为KML文件

蓝领计划了第一步,即使用谷歌的编码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>

测试形状
1.
相对地
-85.33082,39.91816
-85.86915,38.01347
-83.01270000000001,38.22091
-83.02369,39.76632
-85.33082,39.91816

然后可以导入KML文件。

如果我这样做,我会得到一组对,例如:
(39.91816,-85.33082),(38.0134700000000005,-85.86915),(38.22091,-83.012700000001),(39.76632,-83.02369),(39.91816,-85.33082)
。我曾尝试将其放入Excel文档以导入到我的地图中,但它只是抛出了错误。这些都是美国中西部的有效坐标。我不确定将这些坐标放入Excel文档是什么意思,但提供了如何解码这些坐标的答案,您始终可以直接将其复制到KML中(虽然你的问题说你是从一个KML开始的,所以我不知道你为什么想再次使用KML->encryptedCoords->KML…)或者在后续javascript中立即使用它们,因为它们是可用的。问题是“有没有办法将它们导入Google My Maps?”。他能把解码后的成对数据放在.csv中,然后按导入吗?这将创建许多单独的点,而不是单个多边形。这些点首先需要转换为KML多边形。你还有KML文件吗?不幸的是,没有。我正在使用一个预先存在的应用程序和数据集。原始开发人员没有保存KML在他对文件进行编码之后。