Я пытаюсь создать полигон из файла GeoJson и вызвать предупреждение, если маркер покидает область. Я следую учебным пособиям по gmap, и много кода, который я вижу, выглядит следующим образом:
var path = [[-12.040397656836609,-77.03373871559225],
[-12.040248585302038,-77.03993927003302], [-12.050047116528843,-
77.02448169303511], [-12.044804866577001,-77.02154422636042]];
polygon = map.drawPolygon({
paths: path,
strokeColor: '#BBD8E9',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#BBD8E9',
fillOpacity: 0.6
});
map.addMarker({
lat: -12.043333,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(marker, fence) {
alert('This marker has been moved outside of its fence');
}
});
Я пытаюсь использовать данные из файла GeoJson в качестве пути.
Я пробовал определенные строки кода, такие как:
var path = map.data.loadGeoJson("./js/area.geojson");
Но это как данные не загружается. Я очень новичок в этом и буду признателен за любые отзывы, спасибо
Обновленный код:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 53.28, lng: -7.48},
zoom: 10,
});
var path = map.data.loadGeoJson("./js/area.geojson");
polygon = map.drawPolygon({
paths: path,
useGeoJSON: true,
strokeOpacity: 1,
strokeWeight: 3,
fillColor: '#BBD8E9',
fillOpacity: 0.6
});;
map.addMarker({
lat: 53.28,
lng: -7.48,
draggable: true,
fences: [polygon],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?libraries=drawing,places&language=en&key=AIzaSyBDv0PtStQ3dOIyBcqUSxChO7TB-CqdeXY&callback=initMap">
</script>
<script type="text/javascript" src="gmaps.js"></script>
ошибка:
typeError: map.drawPolygon is not a function[Learn More]
XML Parsing Error: not well-formed
Location: file:///C:/geo_fencing%20project
/js/area.geojson
Line Number 1, Column 1:
Координаты в файле geojson создают границу на карте, и я использовал файл geojson в других тестах, и это нормально. Но маркер не появляется.