Я пытался выяснить, как отобразить около 2200 точек данных в буклете, однако я только что погрузился в мир JS, и есть много новых для меня концепций. В качестве рабочего примера того, как извлекать данные из geojson, и он появится на вашей карте. Однако я не могу заставить его работать с моими собственными данными, и я не знаю, что я делаю неправильно. Я пытался использовать множество различных источников хостинга и использовать как тестовые данные, так и учебные данные (в виде файлов geojson), чтобы устранить неполадки, вызывающие проблемы: хост или файл geojson. Я до сих пор не уверен, что это такое.
Ниже приведен мой код (с использованием тестовых данных и файлов значков из учебника), если кто-нибудь может взглянуть и сказать мне, почему он не загружает данные на мою карту, я был бы очень благодарен! Даже некоторые предложения о том, что я мог бы попробовать сделать, помогли бы. Мой единственный опыт программирования связан с R, так что, вероятно, я что-то упустил, что должно было быть очевидным.
<html>
<head>
<title>A Leaflet map!</title>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="https://raw.githubusercontent.com/leaflet-extras/leaflet-providers/master/leaflet-providers.js"></script>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<style>
#map{ height: 900px;width: 650px }
</style>
</head>
<body>
<div id="map"></div>
<script>
var map = L.map('map').setView([-41.291, -185.229], 6);
var OpenMapSurfer_Roads = L.tileLayer('http://korona.geog.uni-heidelberg.de/tiles/roads/x={x}&y={y}&z={z}', {
maxZoom: 20,
attribution: 'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
$.getJSON("https://bitbucket.org/whalebiologist/website-map/raw/58abf2f24696fef437c294c02e55019d1c6554e4/churches_short.geojson",function(data){
var ratIcon = L.icon({
iconUrl: 'http://maptimeboston.github.io/leaflet-intro/rat.png',
iconSize: [60,50]
});
L.geoJson(data,{
pointToLayer: function(feature,latlng){
var marker = L.marker(latlng,{icon: ratIcon});
marker.bindPopup(feature.properties.Location + '<br/>' + feature.properties.OPEN_DT);
return marker;
}
}).addTo(map);
});
</script>
</body>
</html>
Спасибо всем, кто захочет это прочитать!