我在使用谷歌地图的几何图形时遇到了一些麻烦。我收到以下错误:"Unable to get property 'spherical‘of undefined or null reference“。
这是来自w3c的一些代码,以及我的一些附加内容。
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
});
}
上面的代码有什么问题?
发布于 2013-03-05 22:24:10
是否使用libraries=
参数加载correct library?
<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=geometry"></script>
发布于 2021-03-26 20:43:48
如果您使用的是@googlemaps/js-api-loader
,请将其包含为以下内容
const loader = new Loader({
apiKey: "xxxxxxxxxx",
version: "weekly",
libraries: ["geometry"], // additional libraries
});
发布于 2014-03-25 21:39:20
首先,您需要导入库模块,然后是auth key模块。我认为这里的问题是在执行库函数时,导入库模块没有完成。如果您首先导入auth key模块,那么在库模块加载未完成时,它会立即调用initialize()方法。所以你需要先导入库模块,然后再导入auth模块。
https://stackoverflow.com/questions/15226053
复制相似问题