gpt4 book ai didi

javascript - Google map API v3 绘图管理器未正确绘制虚线折线

转载 作者:行者123 更新时间:2023-11-28 04:40:51 34 4
gpt4 key购买 nike

我尝试将此示例与绘图管理器一起使用: https://developers.google.com/maps/documentation/javascript/examples/overlay-symbol-dashed

Jsfiddle demo

  var lineSymbol = {
path: 'M 0,-1 0,1',
strokeOpacity: 1,
scale: 4
};
var drawingManager = new google.maps.drawing.DrawingManager({
polylineOptions: {
icons: [{
icon: lineSymbol,
// offset: '100%',
offset: '0',
repeat: '20px'
}],
editable: true
}, });
drawingManager.setMap(map);

请仅在此演示中尝试折线,因为我仅将折线选项设置为虚线图标。多边形略有改变,但顶部似乎有一条连续的线重叠。如何删除实线?

最佳答案

您需要在折线上设置行程不透明度:0(在PolylineOptions中):

var drawingManager = new google.maps.drawing.DrawingManager({
polylineOptions: {
icons: [{
icon: lineSymbol,
// offset: '100%',
offset: '0',
repeat: '20px'
}],
strokeOpacity: 0,
editable: true
},
});

updated fiddle

enter image description here

代码片段:

function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: {
lat: 17.4446,
lng: 78.3802
}
});
var lineSymbol = {
path: 'M 0,-1 0,1',
strokeOpacity: 1,
scale: 4

};
var drawingManager = new google.maps.drawing.DrawingManager({
polylineOptions: {
icons: [{
icon: lineSymbol,
// offset: '100%',
offset: '0',
repeat: '20px'
}],
strokeOpacity: 0,
editable: true
},
});
drawingManager.setMap(map);


google.maps.event.addListener(drawingManager, 'markercomplete', function(m) {
markersArray.push(m);

google.maps.event.addListener(m, 'click', function() {
var infoBox = new google.maps.InfoWindow();
infoBox.setContent('Marker Info');
infoBox.open(map, this);
});

});

/* dmMarkerOptions = {
drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.MARKER
]
},
markerOptions: {
clickable: true,
editable: true,
draggable: false
}
};

dmPolygonOptions = {
drawingMode: google.maps.drawing.OverlayType.POLYGON,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.POLYGON,
]
},
polygonOptions: {
clickable: true,
editable: true,
strokeColor: '#FF0000',
strokeOpacity: 1,
strokeWeight: 2,
fillOpacity: 0
}
};
*/
//drawingManager.setOptions(dmPolygonOptions)
}
#map {
height: 100%;
}

html,
body {
height: 100%;
margin: 0;
padding: 0;
}
<div id="map"></div>
<script async defer src="https://maps.googleapis.com/maps/api/js?libraries=drawing&callback=initMap&key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk">
</script>

关于javascript - Google map API v3 绘图管理器未正确绘制虚线折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43794483/

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