我正在用Leaflet制作一个故事地图,使用切成瓷砖的大图像而不是“真实世界”地图数据。我使用这个插件:https://commenthol.github.io/leaflet-rastercoords/这种回购:https://github.com/jackdougherty/leaflet-storymap如何在大光栅图像上使用Leaflet flyTo()和unproject()和GeoJSON数据?
我加载数据以GeoJSON和unprojecting坐标正确绘制他们对我的形象图:
$.getJSON('map.geojson', function(data) {
var geojson = L.geoJson(data, {
// correctly map the geojson coordinates on the image
coordsToLatLng: function (coords) {
return rc.unproject(coords)
},
但是当我到达onEachFeature,我打
map.flyTo([feature.geometry.coordinates[1], feature.geometry.coordinates[0] ], feature.properties['zoom']);
我试图传递unproject:地理空间坐标的方式从地图上墙map.flyTo(),这是从我的JSON文件调用geometry.coordinates,但不unprojecting他们这么一个FlyTo()被他们解释ed坐标变量,然后map.flyTo()和嵌套函数的变化,如map.flyTo.unproject(...,但没有运气。
如何将我的栅格坐标传递给flyTo()?
我不仅是Leaflet的新手,还是JavaScript的新手。我砍了这么远,但我很难过。我相信解决方案是显而易见的。任何帮助是极大的赞赏。
感谢您对这个非常完整的答案。只需使用 'map.flyTo( rc.unproject(feature.geometry.coordinates), feature.properties ['zoom'] );' 解决了我的问题。但是我现在看到,我比使用rastercoords插件要难得多。 –