Uncaught Exception When Calling Google Maps DirectionsService
I am getting an Uncaught InvalidValueError: in property origin: not a string; and not a LatLng or LatLngLiteral: not an Object error when I call the Google maps directions service
Solution 1:
Your currentPos
variable is undefined when you call calcRoute
.
getCurrentPosition
is asynchronous and will not have executed before calcRoute
and therefore not set currentPos
.
If you need to use currentPos
in calcRoute
you should call it in the callback to getCurrentPosition
to ensure that it is defined.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
currentPos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var marker = new google.maps.Marker({
position: currentPos,
map: map,
title: "You are here"
});
marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png')
map.setCenter(currentPos);
$.ajax({
type: 'GET',
url: $('#AddMarkersToMap').val(),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
addMarkers(data, infoWindow);
},
error: function () {
alert("Error");
}
});
calcRoute();
//\\//\\//\\
}, function () {
handleNoGeolocation(true);
});
Post a Comment for "Uncaught Exception When Calling Google Maps DirectionsService"