有关Leaflet.js的相关操作

Leaflet的官方网站 http://leafletjs.com/

快速学习Leaflet http://leafletjs.com/examples/quick-start.html

补充一些没有的内容

1.在给定的坐标绘制一条线

var polyline = new L.polyline([
[51.80607748386585, -0.8843994140625],
[51.601428064502886, -0.9118652343749999]], {
    color: 'blue',
    opacity: 0.5,
    weight: 3
}).addTo(map);

2.使用鼠标在地图上任意点击两个两个坐标绘制一条线

var line = [];
    var polyline = L.polyline(line, {
        color: 'blue',
        opacity: 0.5,
        weight: 3,
        clickable: false
    }).addTo(map);

function onMapClick(e) {
        s += "[" + e.latlng.lat + ", " + e.latlng.lng + "]";

        //当点击地图的时候弹出当前点的经纬度。
        popup
            .setLatLng(e.latlng)
            .setContent("You clicked the map at " + e.latlng.toString())
            .openOn(map);
        
        //当点击地图的时候将当前点放入数组,然后设置线的经纬度,达到画线的目的
        line.push([e.latlng.lat, e.latlng.lng]);
        polyline.setLatLngs(line);
}

    //为地图添加click事件
    map.on('click', onMapClick);

绘制多边形也是类似方法

3.在给定的坐标绘制矩形

var rectangle = L.rectangle([
 [51.80607748386585, -0.8843994140625],
 [53.601428064502886, -0.9118652343749999]], {
     color: 'red',
     opacity: 0.5,
     weight: 3
 }).addTo(map);

4.使用鼠标在地图上任意点击两个两个坐标绘制矩形

var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];//默认需要给定一个坐标,要不然js会报错
var rectangle = L.rectangle(bounds, { color: "#ff7800", weight: 3 }).addTo(map);

var iCount = 0;
var southWest, northEast;
function onMapClick(e) {
        if (iCount == 1) {
            northEast = e.latlng;
            var bounds = L.latLngBounds(southWest, northEast);
            rectangle.setBounds(bounds);
            iCount = 0;
        }
        else {
            southWest = e.latlng;
            iCount++;
        }

        //当点击地图的时候弹出当前点的经纬度。
        popup
            .setLatLng(e.latlng)
            .setContent("You clicked the map at " + e.latlng.toString())
            .openOn(map);
}
//为地图添加click事件
map.on('click', onMapClick);

转载自:https://blog.csdn.net/esunshine1985/article/details/35212555

You may also like...