Ich arbeite derzeit mit den Karten api in Kombination mit asp.net mvc5. Mein Controller vorbei Positionsdaten meiner Ansicht wie folgt aus:Wegpunkte in Google Maps: InvalidValueError: in Eigenschaft Wegpunkte: bei Index 0: unbekannte Eigenschaft lat
ViewBag.Origin = JsonConvert.SerializeObject(origin);
ViewBag.Destination = JsonConvert.SerializeObject(destination);
ViewBag.PositionEntries = JsonConvert.SerializeObject(mapsPositions);
Innerhalb der Ansicht, die ich meine js-Datei bin aufrufen und die Werte der Viewbags es passieren.
<script>
var origin = @Html.Raw(ViewBag.Origin)
var destination = @Html.Raw(ViewBag.Destination)
var mapsPositions = @Html.Raw(ViewBag.PositionEntries)
</script>
<script>
initMap(origin, destination, mapsPositions);
</script>
Die JavaScript-Datei:
var initMap = (function (origin, destination, mapsPositions) {
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer;
var origin = origin;
var destination = destination;
var mapsPositions = mapsPositions;
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 6,
center: { lat: 41.85, lng: -87.65 }
});
directionsDisplay.setMap(map);
calculateAndDisplayRoute(directionsService, directionsDisplay, origin, destination, mapsPositions);})
function calculateAndDisplayRoute(directionsService, directionsDisplay, origin, destination, mapsPositions) {
var waypts = mapsPositions;
directionsService.route({
origin: origin,
destination: destination,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: 'DRIVING'
}, function (response, status) {
if (status === 'OK') {
directionsDisplay.setDirections(response);
var route = response.routes[0];
var summaryPanel = document.getElementById('directions-panel');
summaryPanel.innerHTML = '';
// For each route, display summary information.
for (var i = 0; i < route.legs.length; i++) {
var routeSegment = i + 1;
summaryPanel.innerHTML += '<b>Route Segment: ' + routeSegment +
'</b><br>';
summaryPanel.innerHTML += route.legs[i].start_address + ' to ';
summaryPanel.innerHTML += route.legs[i].end_address + '<br>';
summaryPanel.innerHTML += route.legs[i].distance.text + '<br><br>';
}
}
else {
window.alert('Directions request failed due to ' + status);
}
});
};
Das Json-Objekt:
[{"lat":54.1766472,"lng":9.092599,"stopover":false},{"lat":54.1700745,"lng":9.090693,"stopover":false},{"lat":54.1973152,"lng":9.045031,"stopover":false},{"lat":54.27517,"lng":9.00978851,"stopover":false},{"lat":54.4802246,"lng":9.087988,"stopover":false}]
So Google sagt:
// The below line is equivalent to writing:
// position: new google.maps.LatLng(-34.397, 150.644)
position: {lat: -34.397, lng: 150.644},
nun den Fehler Ich erhalte: InvalidValueError: in prop Wegpunkte: bei Index 0: unbekanntes Grundstück lat. Ist es wichtig, ob die Eigenschaft in Anführungszeichen steht? Oder fehlt mir etwas? Danke für Ihre Hilfe.
Ah. Vielen Dank. Manchmal kann man den Wald nicht voller Bäume sehen. – ad0R
@ ad0R Ja und die Fehlermeldung ist in diesem Fall nicht so hilfreich. – Titus