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
Google maps 如何在谷歌地图中为多边形应用可编辑标记_Google Maps_Google Maps Api 3_Google Maps Markers_Google Maps Api 2 - Fatal编程技术网

Google maps 如何在谷歌地图中为多边形应用可编辑标记

Google maps 如何在谷歌地图中为多边形应用可编辑标记,google-maps,google-maps-api-3,google-maps-markers,google-maps-api-2,Google Maps,Google Maps Api 3,Google Maps Markers,Google Maps Api 2,我正在处理多边形距离区域,我想添加一个标记,并想得到它之间的距离,我找到了代码,但我无法编辑该多边形区域,也无法添加标记,我尝试了很多,但它对我不起作用,有人能帮我解决这个问题吗 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8">

我正在处理多边形距离区域,我想添加一个标记,并想得到它之间的距离,我找到了代码,但我无法编辑该多边形区域,也无法添加标记,我尝试了很多,但它对我不起作用,有人能帮我解决这个问题吗

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Polygon Arrays</title>
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>

      // This example creates a simple polygon representing the Bermuda Triangle.
      // When the user clicks on the polygon an info window opens, showing
      // information about the polygon's coordinates.

      var map;
      var infoWindow;

      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          zoom: 5,
          center: {lat: 24.886, lng: -70.268},
          mapTypeId: 'terrain'
        });

        // Define the LatLng coordinates for the polygon.
        var triangleCoords = [
            {lat: 25.774, lng: -80.190},
            {lat: 18.466, lng: -66.118},
            {lat: 32.321, lng: -64.757}
        ];

        // Construct the polygon.
        var bermudaTriangle = new google.maps.Polygon({
          paths: triangleCoords,
          strokeColor: '#FF0000',
          strokeOpacity: 0.8,
          strokeWeight: 3,
          fillColor: '#FF0000',
          fillOpacity: 0.35
        });
        bermudaTriangle.setMap(map);

        // Add a listener for the click event.
        bermudaTriangle.addListener('click', showArrays);

        infoWindow = new google.maps.InfoWindow;
      }

      /** @this {google.maps.Polygon} */
      function showArrays(event) {
        // Since this polygon has only one path, we can call getPath() to return the
        // MVCArray of LatLngs.
        var vertices = this.getPath();

        var contentString = '<b>Bermuda Triangle polygon</b><br>' +
            'Clicked location: <br>' + event.latLng.lat() + ',' + event.latLng.lng() +
            '<br>';

        // Iterate over the vertices.
        for (var i =0; i < vertices.getLength(); i++) {
          var xy = vertices.getAt(i);
          contentString += '<br>' + 'Coordinate ' + i + ':<br>' + xy.lat() + ',' +
              xy.lng();
        }

        // Replace the info window's content and position.
        infoWindow.setContent(contentString);
        infoWindow.setPosition(event.latLng);

        infoWindow.open(map);
      }
    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYeDBDl-8Wx98Az55EbVnpvRfSIBbwxyE&callback=initMap">
    </script>
  </body>
</html>

多边形阵列
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,正文{
身高:100%;
保证金:0;
填充:0;
}
//本例创建了一个表示百慕大三角形的简单多边形。
//当用户单击多边形时,将打开一个信息窗口,显示
//有关多边形坐标的信息。
var映射;
var信息窗口;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:5,
中心:{lat:24.886,lng:-70.268},
mapTypeId:'地形'
});
//定义多边形的板条坐标。
var triangleCoords=[
{lat:25.774,lng:-80.190},
{lat:18.466,lng:-66.118},
{lat:32.321,lng:-64.757}
];
//构造多边形。
var bermudaTriangle=新建google.maps.Polygon({
路径:三角形门,
strokeColor:“#FF0000”,
笔划不透明度:0.8,
冲程重量:3,
填充颜色:'#FF0000',
不透明度:0.35
});
百慕大陆角。设定图(map);
//为单击事件添加侦听器。
bermudaTriangle.addListener('click',showArray);
infoWindow=新建google.maps.infoWindow;
}
/**@this{google.maps.Polygon}*/
函数ShowArray(事件){
//因为这个多边形只有一条路径,所以我们可以调用getPath()来返回
//LatLngs的MVCArray。
var顶点=this.getPath();
var contentString='百慕大三角多边形
'+ '单击的位置:
'+event.latLng.lat()+','+event.latLng.lng()+ “
”; //在顶点上迭代。 对于(var i=0;i'+xy.lat()+','+ xy.lng(); } //替换信息窗口的内容和位置。 setContent(contentString); infoWindow.setPosition(event.latLng); 打开(地图); }
若要添加标记,请编辑脚本并将此代码放在三角形文件夹下:

// Add Markers to Coordinates
    for(var i = 0; i < triangleCoords.length; i++) {
      var pos = triangleCoords[i];
      var marker = new google.maps.Marker({
        map: map,
        position: pos,
        draggable: true
      });
      marker.setMap(map);
      markers.push(marker);
    }
//将标记添加到坐标
对于(变量i=0;i
要使用标记进行特定操作,请转到此处: 要获取距离,请使用距离矩阵:

希望这能帮助你行动起来。
JSBin:

若要添加标记,请编辑脚本并将此代码放在triangleCoords下:

// Add Markers to Coordinates
    for(var i = 0; i < triangleCoords.length; i++) {
      var pos = triangleCoords[i];
      var marker = new google.maps.Marker({
        map: map,
        position: pos,
        draggable: true
      });
      marker.setMap(map);
      markers.push(marker);
    }
//将标记添加到坐标
对于(变量i=0;i
要使用标记进行特定操作,请转到此处: 要获取距离,请使用距离矩阵:

希望这能帮助你行动起来。
JSBin:

您尝试添加什么标记或编辑不起作用的多边形?您试图向发布的代码中添加什么?您试图添加什么标记或编辑不起作用的多边形?您想在发布的代码中添加什么?非常感谢,您能帮助我如何拖动此标记吗?这样我就可以更改区域只需将“draggable”选项添加到您的标记选项中。我编辑了代码,加入了“draggable”。了解有关标记选项的更多信息:[JavaScript V3引用(标记选项属性)]-[非常感谢,您能帮助我如何拖动此标记吗?],这样我就可以更改区域只需将“Dragable”选项添加到标记选项中。我编辑了代码以包含“Dragable”。了解有关标记选项的更多信息:[JavaScript V3引用(标记选项属性) - [