gpt4 book ai didi

javascript - 如何使用 Google Maps API 捕获多边形的点位置?

转载 作者:搜寻专家 更新时间:2023-11-01 04:47:20 24 4
gpt4 key购买 nike

使用 Google Maps API 绘图管理器,我想收集用户绘制的多边形中每个点的位置。

我知道有一个 getPath() 函数,但我不确定我在哪里使用它。

这是我目前所有的代码:

var map; var drawingManager;

function initialize() {
var mapOptions = {
center: new google.maps.LatLng(45.13536, -100.762952),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: false,
polygonOptions: {
fillColor: "#000000",
fillOpacity: .6,
strokeWeight: 1,
strokeColor: "#666666",
clickable: false,
editable: true,
zIndex: 1
}
});

drawingManager.setMap(map);

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
drawingManager.setDrawingMode(null);
});
}

google.maps.event.addDomListener(window, 'load', initialize);

那么从这段代码中,我如何使用 getPath() 函数来显示构成绘制的多边形的坐标?

最佳答案

在 polygoncomplete-callback 中使用它。

例子:

 google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
drawingManager.setDrawingMode(null);
var arr=[];
polygon.getPath().forEach(function(latLng){arr.push(latLng.toString());})
alert(arr.join(',\n'));
});

它遍历路径(使用 google.maps.MVCArray 的 forEach 方法)并使用 LatLng 的字符串表示填充另一个数组

关于javascript - 如何使用 Google Maps API 捕获多边形的点位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com