javascript - 将多边形导入 Google 我的 map

标签 javascript google-maps google-maps-api-3

背景

我有一个使用 JavaScript API 创建的 Google map 。我有一组覆盖在 map 上的多边形。

这些多边形最初是 KML 文件,但已转换为编码多边形。编码算法信息:https://developers.google.com/maps/documentation/utilities/polylinealgorithm

示例:

oosrFrdygOh_sJpchBoog@y{lPyylHtcA_t\praM

这是俄亥俄州的一个 4 点多边形。

问题

我的问题是,有没有办法将这些导入到“Google 我的 map ”中?我想导入这些以便我可以编辑它们。

最佳答案

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

BlueCollar 制定了第一步,即使用 Google 的编码 API 将编码形状解码为纬度/经度对。

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 文件。

关于javascript - 将多边形导入 Google 我的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830475/

相关文章:

javascript - 在函数中动态添加新元素

javascript - 如何在 JavaScript 中使用此数组格式返回正确的值?

javascript - 扩展 Array.prototype 崩溃

javascript - 使用 Google map API 进行反向地理编码

google-maps - 如何在Google Maps v3中更改路线的颜色

javascript - 当我的应用程序包含查询字符串时,如何使用 OneDrive Web 选择器

ios - iOS 版 Google map 中的自定义用户位置点 (GMSMapview)

python - 在 python 中使用来自网络的图像

javascript - 谷歌地图替代道路以不同颜色显示

google-maps-api-3 - 将 map 居中并缩放以适合屏幕上的标记