Javascript 如何使用google map DrawManager以编程方式绘制多边形
我用谷歌地图来定义一个城市的区域。用户绘制多边形以确定所需区域。为了达到这个目标,我参考了DrawingManager的文章。一切进展顺利,我想更新注册区域并绘制多边形。我希望遵循的路径是使用DrawingManager。这是我的密码。代码正确加载地图,但它不会基于给定坐标绘制多边形Javascript 如何使用google map DrawManager以编程方式绘制多边形,javascript,google-maps,drawing,Javascript,Google Maps,Drawing,我用谷歌地图来定义一个城市的区域。用户绘制多边形以确定所需区域。为了达到这个目标,我参考了DrawingManager的文章。一切进展顺利,我想更新注册区域并绘制多边形。我希望遵循的路径是使用DrawingManager。这是我的密码。代码正确加载地图,但它不会基于给定坐标绘制多边形 GoogleMap.prototype.initial = function (currentPolygonData) { var self = this; var triangleCoords = []; if
GoogleMap.prototype.initial = function (currentPolygonData) {
var self = this;
var triangleCoords = [];
if (currentPolygonData != null && currentPolygonData.length>0) {
triangleCoords = [];
for (var i = 0; i < currentPolygonData.length; i++) {
triangleCoords.push(new google.maps.LatLng(currentPolygonData[i].Lat, currentPolygonData[i].Lng));
}
}
var polyOptions = {
paths: triangleCoords,
strokeColor: '#bb4446',
fillColor: '#c37172',
strokeWeight: 0,
fillOpacity: 0.45,
editable: true,
draggable: true,
};
self.drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControlOptions: {
drawingModes: [
google.maps.drawing.OverlayType.POLYGON
]
},
markerOptions: {
draggable: true
},
polylineOptions: {
editable: true,
draggable: true
},
rectangleOptions: polyOptions,
circleOptions: polyOptions,
polygonOptions: polyOptions,
map: self.map
});}
GoogleMap.prototype.initial=函数(CurrentPolygonda){
var self=这个;
var triangelecoords=[];
如果(CurrentPolygonda!=null&&CurrentPolygonda.length>0){
三角形坐标=[];
对于(变量i=0;i
LatLng集合的数据类型应该是一个字典数组,其键分别为纬度和经度的“lat”和“lng”
因此,在代码中应该是
var triangleCoordsArr = {};
if (currentPolygonData != null && currentPolygonData.length>0) {
for (var i = 0; i < currentPolygonData.length; i++) {
triangleCoords = {};
triangleCoords['lat'] = currentPolygonData[i].Lat;
triangleCoords['lng'] = currentPolygonData[i].Lng;
triangleCoordsArr.push(triangleCoords)
}
}
for (var i = 0; i < triangleCoordsArr.length; i++) {
// Construct the polygon.
var mTriangle = new google.maps.Polygon({
paths: triangleCoordsArr[i],
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
mTriangle.setMap(map);
}
var triangelecoordsarr={};
如果(CurrentPolygonda!=null&&CurrentPolygonda.length>0){
对于(变量i=0;i
此外,在这里,这应该是有助于更多的信息来解决您的情况