I am having some troubles using the geometry at google maps. I am getting the following error: "Unable to get property 'spherical' of undefined or null reference."
This is some code from w3c with some additions of mine.
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 }); }
What is wrong with the above code?
A geodesic is the shortest path between two points on the Earth's surface. The geodesic curve is constructed assuming the Earth is a sphere. Clickability. If you want to handle events fired when the user clicks the polyline, set this property to true .
The Maps JavaScript API uses the following coordinate systems: Latitude and longitude values, which reference a point on the world uniquely. (Google uses the World Geodetic System WGS84 standard.) World coordinates, which reference a point on the map uniquely.
Are you loading the correct library with the libraries=
parameter?
<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=geometry"></script>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With