在javascript中的谷歌地图中不正确地绘制路线图

时间:2017-08-03 05:33:47

标签: javascript android html5 google-maps google-maps-api-3

我正在开发一个Web应用程序并使用java脚本集成谷歌地图。标记工作正常,纬度和经度都很好。路线图未完美显示。在路线图中搜索用户时,未正确显示。它显示了不同的路线。它没有明确以前的路线。我怎样才能清除以前的路线? Route Map Screen shot

enter image description here

示例地图代码:

	var marker= [];
	var geocoder;
	var map;
	var directionsDisplay,directionsService;
	
	  directionsDisplay = new google.maps.DirectionsRenderer({ draggable: false, suppressMarkers: true });
	  directionsService = new google.maps.DirectionsService();
	var request = {
		    	    travelMode: google.maps.TravelMode.DRIVING
		    	    
		    	  }; 
				  
		googleMapCoordinates(response);
		
		function googleMapCoordinates(response) {
				setMapOnAll(null);
				marker = [];  
		        directionsDisplay.setMap(null); 
				directionsDisplay.setPanel(null);   
				$("#map").show();
				map = new google.maps.Map(document.getElementById('map'), {
			      			zoom: 10,
			      			center: new google.maps.LatLng(17.7254567, 83.3097112),
			     		    mapTypeId: google.maps.MapTypeId.ROADMAP
			    });
				directionsDisplay.setMap(map);
			    
				var i;
				for (i = 0; i < response.length; i++) {
			    	marker = new google.maps.Marker({
			        position: new google.maps.LatLng(response[i].latitude, response[i].longitude),
			        map:map,
			        label:response[i].count
			    }); 
			    var infowindow = new google.maps.InfoWindow();
			    google.maps.event.addListener(marker, 'click', (function(marker, i) {
			        return function() {
			          infowindow.setContent("Name :"+response[i].name);
			          infowindow.open(map, marker);
			        }
			    })(marker, i));   
			      	
			      	/******************Direction*********************************/
			      	
			    if (i == 0) request.origin = marker.getPosition();
			    else if (i == response.length - 1) request.destination = marker.getPosition();
			       else {
			            if (!request.waypoints) request.waypoints = [];
			           request.waypoints.push({
			             location: marker.getPosition(),
			             stopover: true
			           }); 
			         }
			    }
				
				 directionsService.route(request, function(result, status) {
				        if (status == google.maps.DirectionsStatus.OK) {
				        	directionsDisplay.setDirections(result);
				        }
				 });
		}
	   
	   function setMapOnAll(map) {
	    	console.log("Set map is to empty state ");
	        for (var i = 0; i < marker.length; i++) {
	          marker[i].setMap(map);
	        }
	      }
		  
		  
		  
		  

0 个答案:

没有答案