Javascript 谷歌地图路径点不使用方向服务删除

Javascript 谷歌地图路径点不使用方向服务删除,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,新Plunker演示: //源和目标自动完成文本框绑定 google.maps.event.addDomListener(窗口'load',函数(){ var places=new google.maps.places.Autocomplete(document.getElementById('source'); google.maps.event.addListener(places,'place_changed',函数(){ var place=places.getPlace(); sou

新Plunker演示:

//源和目标自动完成文本框绑定
google.maps.event.addDomListener(窗口'load',函数(){
var places=new google.maps.places.Autocomplete(document.getElementById('source');
google.maps.event.addListener(places,'place_changed',函数(){
var place=places.getPlace();
sourceLat=place.geometry.location.lat();
sourcelng=place.geometry.location.lng();
});
var places1=new google.maps.places.Autocomplete(document.getElementById('destination');
google.maps.event.addListener(places1,'place_changed',函数(){
var place1=places1.getPlace();
});
});
var-cnt=1;var v=[];var自动完成=[];
var-map=null;var usedIds=[];
var insertControls=[];
var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
var sourceLat,sourcelng;var maxNumberOfTextboxAllowed=5;
var自动完成选项={
组件限制:{国家:“}
};
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var mapCenter=new google.maps.LatLng(sourceLat,sourcelng);//在我的源点上将谷歌地图位置居中。
变量映射选项={
缩放:10,
中心:地图中心
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
//动态生成文本框的方法
函数GenerateSourceDestinationPoint(){
如果(cnt maxNumberOfTextboxAllowed)
cnt=cnt-2;
else if(cnt==1)
cnt=1;
其他的
cnt=cnt-1;
var id=$(this.attr(“id”).substr(13);
删除标记(id)
removeId(id);
$(this.remove();
});
});
//当我将从动态文本框中删除任何路由点时,将调用此函数。在这里,我将从我的v数组中删除该点,然后再次从源和目标重新绘制地图。
函数删除标记(id){
var removeMarker=id-1;
对于(变量i=0;i



来源

目的地

加分

根据

允许的最大航路点为8个,加上起点和目的地。谷歌地图API为工作客户提供23个航路点,加上起点和目的地。过境方向不支持航路点

这也许可以解释为什么当你的程序处理了太多的航路点时,它开始出现错误行为;你的应用程序没有正确删除旧的航路点,因此它超出了配额,行为不端


简言之,您所面临的问题应该是由您用于管理航路点的不正确逻辑引起的,修复航路点逻辑也应该修复此问题。希望能有所帮助。

它起作用了,我第一次在markerids更改为
marker[idx].setVisible(true)
和第二个到
标记[idx].setVisible(false)现在,运行您的代码

请提供一个在问题本身中演示问题的链接(不是指向外部站点的链接,包括您的完整代码)。您的代码似乎没有使用通过用户iterface输入的航路点。这就是你要问的问题吗?您在代码中的何处填充用于航路点的
v
阵列?如果您发布了一个最简单的示例,它确实会更有用。@geocodezip:您所询问的v数组在setupAutocomplete函数中,在发布的代码中没有
setupAutocomplete
函数(至少在问题中)@geocodezip:v阵列我使用的是路径点,你可以在我的calcRoute函数中看到这是一年伴侣,所以我已经忘记了这是什么,但仍然非常感谢你的回答。对你帮助我的善意努力,我投了赞成票:)