1
Ich benutze Google map zeige die multiple location Ich möchte den Pfad dazwischen zeichnen. Mein Weg zeigt richtig, aber an Konsole ich erhalte diesen FehlerUncaught InvalidValueError: keine LatLngBounds oder LatLngBoundsLiteral: unbekannte Eigenschaft f
Uncaught InvalidValueError: not a LatLngBounds or LatLngBoundsLiteral: unknown property f
<script>
var markers;
function GetLocation() {
var id = document.getElementById("Code").value;
var request = $.ajax({
url: "Path",
type: "GET",
data:"data="+id,
dataType: "html"
});
request.done(function(json_data) {
// alert(json_data);
var obj = JSON.parse(json_data);
markers = obj;
if (obj[0].result == "Failed")
{
alert("No Location Found");
}else{
initialize();
}
});
request.fail(function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});
//The list of points to be connected
//google.maps.event.addDomListener(window, 'load', initialize);
}
//var map = null;
var infowindow = new google.maps.InfoWindow();
var bounds = new google.maps.LatLngBounds();
// var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(
parseFloat(markers[0].lat),
parseFloat(markers[0].lng)),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var service = new google.maps.DirectionsService();
var infoWindow = new google.maps.InfoWindow();
map = new google.maps.Map(document.getElementById("map"), mapOptions);
var lat_lng = new Array();
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map,
draggable: true
});
bounds.extend(marker.getPosition());
google.maps.event.addListener(marker, "click", function(evt) {
// infowindow.setContent("Address:" + marker.getPosition().toUrlValue(7));
infowindow.open(map, marker);
});
for (var i = 0; i < markers.length; i++) {
if ((i + 1) < markers.length) {
var src = new google.maps.LatLng(parseFloat(markers[i].lat),
parseFloat(markers[i].lng));
createMarker(src);
var des = new google.maps.LatLng(parseFloat(markers[i + 1].lat),
parseFloat(markers[i + 1].lng));
createMarker(des);
// poly.setPath(path);
service.route({
origin: src,
destination: des,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
var path = new google.maps.MVCArray();
var poly = new google.maps.Polyline({
map: map,
strokeColor: '#F3443C'
});
for (var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
path.push(result.routes[0].overview_path[i]);
}
poly.setPath(path);
map.fitBounds(bounds);
}
});
}
}
}
function createMarker(latLng) {
var marker = new google.maps.Marker({
position: latLng,
map: map,
draggable: true
});
bounds.extend(marker.getPosition());
google.maps.event.addListener(marker, "click", function(evt) {
var address;
// alert(this.getPosition().toUrlValue(6));
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'latLng': this.position}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
alert(results[0].formatted_address);
address = results[0].formatted_address;
infoWindow.setContent("Address:" + address);
infowindow.open(map, this);
} else {
alert('Geocoder failed due to: ' + status);
}
});
});
}
</script>
<div id='map'></div>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY">
</script>
bitte stellen Sie sicher, dass Sie Zahlen von lat und lang sind vorbei, so dass Sie vielleicht – Ray
auch vorbei Zeichenfolge werden Überprüfen Sie, ob die Daten in Json keine NULL-Werte enthalten, die den Foll auslösen könnten Warnung –