zoukankan      html  css  js  c++  java
  • leaflet入门(三)使用GeoJSON创建矢量图形

    #

    点对象:

    function g(feature, layer) {
                // does this feature have a property named popupContent?
                if (feature.properties && feature.properties.popupContent) {
                    layer.bindPopup(feature.properties.popupContent);
                }
            }
    
            var geojsonFeature = {
                "type": "Feature",
                "properties": {
                    "name": "Coors Field",
                    "amenity": "Baseball Stadium",
                    "popupContent": "This is where the Rockies play!"
                },
                "geometry": {
                    "type": "Point",
                    "coordinates": [100, 31]
                }
            };
    
            L.geoJSON(geojsonFeature, {
                onEachFeature: g
            }).addTo(map);

    线要素:

    var draw_line = {
                "type": "Feature",
                "geometry": {
                    "type": "LineString",
                    "coordinates": [
                        [110, 11],
                        [110, 49]
                    ]
                },
                "properties": {
                    "popupContent": "This is a free bus line that will take you across downtown.",
                    "underConstruction": true
                },
                "id": 2
            };
    
    //绑定事件
    function f(feature, layer) {
        layer.bindPopup(feature.properties.popupContent);
    }
    
    //增加到地图
    var ss = L.geoJson(draw_line, {
        style: {
            "color": 'black',
            "weight": 1
        },
        onEachFeature: f
    }).addTo(map);

    多边形(Polygon)

    var states = [{
        "type": "Feature",
        "properties": {"party": "Republican"},
        "geometry": {
            "type": "Polygon",
            "coordinates": [[
                [-104.05, 48.99],
                [-97.22,  48.98],
                [-96.58,  45.94],
                [-104.03, 45.94],
                [-104.05, 48.99]
            ]]
        }
    }, {
        "type": "Feature",
        "properties": {"party": "Democrat"},
        "geometry": {
            "type": "Polygon",
            "coordinates": [[
                [-109.05, 41.00],
                [-102.06, 40.99],
                [-102.03, 36.99],
                [-109.04, 36.99],
                [-109.05, 41.00]
            ]]
        }
    }];
    
    L.geoJSON(states, {
        style: function(feature) {
            switch (feature.properties.party) {
                case 'Republican': return {color: "#ff0000"};
                case 'Democrat':   return {color: "#0000ff"};
            }
        }
    }).addTo(map);
  • 相关阅读:
    GDB的Breakpoint, Watchpoint和Catchpoint
    sed初学
    比较两个文本不同的行/比较两个文本相同的行
    sprintf()函数基本用法
    vim不用鼠标复制粘贴
    SQL基础-语法
    SQL基础-简介
    XPath学习笔记
    jQuery选择器
    Ubuntu常用命令
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7245850.html
Copyright © 2011-2022 走看看