5

好的,我找到了一个我认为我需要的例子。我不知道如何为我的图像设置它,我不确定这是否是实现我目标的最佳方法。

预期结果:

http://maps.mixedbredie.net/leaflet/image.html

示例代码:

var map = L.map('map', {maxZoom: 17}).setView([51.495, -0.075], 14);
        /* Instead of a tile layer, use a bitmap image */
        var imageUrl = 'data/TM_pano.jpg';
        var imageBounds = [[51.490, -0.122], [51.510, -0.028]];
        L.imageOverlay(imageUrl, imageBounds).addTo(map);
        L.marker([51.495, -0.075]).addTo(map)
            .bindPopup("This is Table Mountain.");
        var popup = L.popup();
        function onMapClick(e) {
            popup
                .setLatLng(e.latlng)
                .setContent("You clicked the map at " + e.latlng.toString())
                .openOn(map);
        }
        map.on('click', onMapClick);
        map.setMaxBounds(imageBounds);

问题:

1.)如何选择经度/纬度,图像边界?

  • 即 .setView([51.495, -0.075], 14)
  • var imageBounds = [[51.490, -0.122], [51.510, -0.028]];

2.)缩放 0 是否应该显示我的整个图像?什么是合理限制?

3.)这种方法可以使用真实坐标吗?即绘制地下水管但使用该管道示意图的自定义.jpg?然后我可以在管道上放置某些长/纬度的标记。

4

1 回答 1

1

有关问题 1 和 2,请参阅http://omarriott.com/aux/leaflet-js-non-geographical-imagery/对于第三个问题,您可以地理参考(或扭曲)图像,然后将其显示到地图上,设置例如透明度。地理配准可以使用 Qgis 或 Mapwarper 之类的工具https://github.com/timwaters/mapwarper

(老问题,但我认为答案可能有用)

于 2014-07-31T08:43:13.173 回答