Google maps 删除部分多段线
我正在开发一个WordPress插件,用户可以在该插件中构建路线图并在其站点上显示。在“管理”面板中,它显示地图上现有路线的预览,以及他们可以拖动到要添加到地图的新位置的标记 地图的默认缩放位置在欧洲设置。但是,如果他们在澳大利亚增加了几个站点,那么只有世界的那一部分是可见的,你将不再看到用于指定新位置的可拖动图标,这是一个问题 所以我想用fitbounds来修复它,这样它就可以始终使可拖动的标记和已经创建的路线适合屏幕。我的代码确实显示了地图上的所有位置,但因为我在访问的位置之间绘制了多段线,它还以某种方式绘制了一条到欧洲可拖动标记的线,这是不应该做的,因为它不是路线的一部分 您可以在这里看到一个示例-> 守则的一部分:Google maps 删除部分多段线,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我正在开发一个WordPress插件,用户可以在该插件中构建路线图并在其站点上显示。在“管理”面板中,它显示地图上现有路线的预览,以及他们可以拖动到要添加到地图的新位置的标记 地图的默认缩放位置在欧洲设置。但是,如果他们在澳大利亚增加了几个站点,那么只有世界的那一部分是可见的,你将不再看到用于指定新位置的可拖动图标,这是一个问题 所以我想用fitbounds来修复它,这样它就可以始终使可拖动的标记和已经创建的路线适合屏幕。我的代码确实显示了地图上的所有位置,但因为我在访问的位置之间绘制了多段线,
/* Draw lines between the markers */
function drawFlightPlan( flightPlanCoordinates ) {
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: "#ad1700",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap( map );
fitBounds( flightPlanCoordinates );
}
/* Zoom the map so that all markers fit in the window */
function fitBounds( flightPlanCoordinates ) {
var bounds = new google.maps.LatLngBounds ();
/* Include this latlng value in europe, but I dont want a line going to that latng... */
var defaultLatlng = new google.maps.LatLng('52.378153', '4.899363');
flightPlanCoordinates.push( defaultLatlng );
for ( var i = 0, flightPlanLen = flightPlanCoordinates.length; i < flightPlanLen; i++ ) {
bounds.extend ( flightPlanCoordinates[i] );
}
map.fitBounds( bounds );
}
/*在标记之间画线*/
函数drawFlightPlan(FlightPlan坐标){
var flightPath=new google.maps.Polyline({
路径:FlightPlan坐标,
测地线:正确,
strokeColor:#ad1700“,
笔划不透明度:1.0,
冲程重量:2
});
flightPath.setMap(map);
fitBounds(飞行平面坐标);
}
/*缩放地图,使所有标记都适合窗口*/
函数fitBounds(飞行平面坐标){
var bounds=new google.maps.LatLngBounds();
/*在欧洲包含此latlng值,但我不希望有一行指向该latlng…*/
var defaultLatlng=new google.maps.LatLng('52.378153','4.899363');
flightPlanCoordinates.push(默认LatLNG);
对于(变量i=0,flightPlanLen=flightPlanCoordinates.length;i
在澳大利亚,标记之间的线很好,但是到欧洲的线不应该在那里(通常在欧洲会有一个不同颜色的标记)
我真的不明白为什么一开始就有一条去欧洲的线路。flightPath.setMap(map);在drawFlightPlan函数中运行。直到fitBounds函数将欧洲的latlng值添加到flightPlanCoordinates数组中
我搜索了一种删除部分多段线的方法,但找不到任何有效的方法。我知道如何删除所有标记或多段线,但不删除单个多段线零件。这可能吗
有什么想法或建议如何解决这个问题,或者这是我想解决的问题吗?在欧洲用
LatLng
初始化bounds
而不是将LatLng
推到飞行平面坐标
使用对阵列的引用作为多段线的路径时,对阵列的任何更改都将影响多段线