Я пытаюсь внедрить скользящий маркер в карту Google. Я пытаюсь создать какое-то фиктивное местоположение и пытаюсь использовать скользящий маркер, но это дает мне ошибку, Google не определен. Я использую обычные ссылки HTML и CDN для этого. Я рассмотрел некоторые примеры в Интернете, пытаясь это сделать.
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var cars = [{
id:1,
coords:{
lat:12.98643328,
lng:77.75361996,
}
},{
id:2,
coords:{
lat:12.97750789,
lng:77.75115929,
}
},{
id:3,
coords:{
lat:12.96529638,
lng:77.74909935,
}
},{
id:4,
coords:{
lat:12.95341885,
lng:77.74446449,
}
}]
var map , marker;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
var i = 0;
setInterval(function(){
if(i === 0){
addMarker(cars[i].coords);
}else{
updateMarker(cars[i].coords);
if (i === 4){
i = 1;
}
}
}, 3000);
function addMarker(coords){
i++;
let latlong1 = new google.maps.LatLng(coords.lat,coords.lng);
marker = new SlidingMarker({
map : this.map,
position: latlong1,
});
marker.setDuration(1000);
marker.setEasing('linear');
}
function updateMarker(coords){
let latlong = new google.maps.LatLng(coords.lat,coords.lng);
//this.map.setCenter(latlong);
marker.setPosition(latlong);
i++;
}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<!-- <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script> -->
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDv-h2II7DbFQkpL9pDxNRq3GWXqS5Epts&callback=initMap"
async defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marker-animate-unobtrusive/0.2.8/vendor/markerAnimate.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marker-animate-unobtrusive/0.2.8/SlidingMarker.min.js"></script>
</body>
</html>
Я получаю эту ошибку
markerAnimate.js:10 Uncaught ReferenceError: google is not defined
at markerAnimate.js:10
(anonymous) @ markerAnimate.js:10
SlidingMarker.js:42 Uncaught ReferenceError: google is not defined
at SlidingMarker.js:42
at SlidingMarker.js:13
at SlidingMarker.js:13
(anonymous) @ SlidingMarker.js:42
(anonymous) @ SlidingMarker.js:13
(anonymous) @ SlidingMarker.js:13
liveloc.html:80 Uncaught ReferenceError: SlidingMarker is not defined
at addMarker (liveloc.html:80)
at liveloc.html:66