Ich habe einige Probleme mit der Geometrie bei Google Maps. Ich erhalte die folgende Fehlermeldung: "Konnte keine 'sphärische' Eigenschaft mit undefinierter oder Null-Referenz erhalten."
Dies ist ein Code von w3c mit einigen Ergänzungen von mir.
var x=new google.maps.LatLng(52.395715,4.888916);
var stavanger=new google.maps.LatLng(58.983991,5.734863);
var amsterdam=new google.maps.LatLng(52.395715,4.888916);
var london=new google.maps.LatLng(51.508742,-0.120850);
function initialize()
{
var mapProp = {
center:x,
zoom:4,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
var myTrip=[stavanger,amsterdam,london];
var flightPath=new google.maps.Polyline({
path:myTrip,
strokeColor:"#0000FF",
strokeOpacity:0.8,
strokeWeight:2
});
flightPath.setMap(map);
try{
var markerpos = google.maps.geometry.spherical.interpolate(flightPath.getAt(0), flightPath.getAt(1), .5);
// also tried //
//var Spherical = google.maps.geometry.spherical;
//var markerpos = Spherical.interpolate(flightPath.getAt(0), flightPath.getAt(1), .5);
//var markerpos = google.maps.geometry.spherical.interpolate(amsterdam, london, .5);
}
catch(ex){alert(ex);}
var marker = new google.maps.Marker({position: markerpos,
map: map, clickable: false
});
}
Was stimmt nicht mit dem obigen Code?
Laden Sie die korrekte Bibliothek mit dem Parameter libraries=
?
<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=geometry"></script>
Zuerst müssen Sie Bibliotheksmodule und dann das Auth-Schlüsselmodul importieren. Ich denke, das Problem liegt hier zum Zeitpunkt der Ausführung von Bibliotheksfunktionen vor. Der Import von Bibliotheksmodulen ist nicht abgeschlossen. Wenn Sie zuerst das Auth-Schlüsselmodul importieren Was passiert ist, ist sofort die Methode initialize () aufgerufen, wenn das Laden von Bibliotheksmodulen nicht abgeschlossen ist. Sie müssen also zuerst Bibliotheksmodule und dann das Authentifizierungsmodul importieren.