javascript - 如何加载本地geojson文件并将其显示在asp.net mvc的传单地图上?
问题描述
我有一个保存在文件夹中的本地 geojson 文件。我想在地图上加载并显示带有标记的坐标。我已经成功地在我的 html 上加载了地图,但我无法将数据加载到地图上。
var mymap = L.map('mapid').setView([1.3521, 103.8198], 13);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
accessToken: 'pk.eyJ1IjoiaGlnaHBpZXMiLCJhIjoiY2p0Nml4NmR1MGhxajRhczA1NGFqZXV0NSJ9.c2tn1B3vCBSVni_W9dXQkQ'
}).addTo(mymap);
var hospitals = "~/Content/hospitals.geojson";
var geojsonMarkerOptions = {
radius: 8,
fillColor: "#ff7800",
color: "#000",
weight: 1,
opacity: 1,
fillOpacity: 0.8
};
function onEachFeature(feature, layer) {
if (feature.properties && feature.properties.Description) {
layer.bindPopup(feature.properties.Description);
}
}
L.geoJSON(hospitals, {
onEachFeature: onEachFeature
}).addTo(map);
这是我收到Invalid GeoJSON object的错误
解决方案
你不能直接加载geojson文件L.geoJSON
,你可以用这个Leaflet-Ajax
L.geoJson.ajax(hospitals, {
onEachFeature: onEachFeature
}).addTo(map);
推荐阅读
- android - How to do ParseQuery for each item in a list of ParseObjects
- sql - 如何从日期(fe 06/30/2019)返回日期格式(fe mm/dd/yyyy)?
- angular - Angular view update with variable is slower than native getElementById
- reactjs - 无法在 React 中的变量中设置值
- object - 在 Dart lambda 中访问声明对象
- google-chrome - Chrome 桌面上的“为您推荐的文章”建议(Chrome 内容建议)
- node.js - Dynamo Db Accelerator 应该将响应时间减少到微秒
- python - 在 pygame 应用程序中实施时的数独求解器性能问题
- javascript - 如何为带有插槽的 vuejs 配置 facebook 插件
- java - 如何将字符串(“95941634.164”)转换为浮点数