通过给出坐标

时间:2015-08-09 19:06:48

标签: leaflet

我知道通过给出坐标在传单上绘制矩形的语法。 这里是示例代码,我可以通过给出坐标来在传单上绘制矩形。

var map = L.map('map').setView([53.902257, 27.561640], 13);

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

var bounds = [[53.912257, 27.581640], [53.902257, 27.561640]];
var rect = L.rectangle(bounds, {color: 'blue', weight: 1}).on('click', function (e) {
    // There event is event object
    // there e.type === 'click'
    // there e.lanlng === L.LatLng on map
    // there e.target.getLatLngs() - your rectangle coordinates
    // but e.target !== rect
    console.info(e);
}).addTo(map);

我的坐标看起来像LatLng(-37.77353, 175.26882),LatLng(-37.77285, 175.26882),LatLng(-37.77285, 175.27097),LatLng(-37.77353, 175.27097)

但是如果有人在bounds变量中看到上面的坐标存储,那么指定了两组lat lang,但是我的是4 set。

告诉我怎样才能推动这种latlang LatLng(-37.77353, 175.26882),LatLng(-37.77285, 175.26882),LatLng(-37.77285, 175.27097),LatLng(-37.77353, 175.27097)在我的地图上绘制圆圈?

问题已经结束,因为我怀疑在地图上用大坐标绘制矩形,我尝试并取得了成功。这是附加的小代码。

$(document).ready(function(){
    $('#btn1').click(function(){
        alert("Drawing rectabgle!");

//var bounds = [[53.912257, 27.581640], [53.902257, 27.561640]];
var bounds = [[-37.77367, 175.27043], [-37.77261, 175.27043],[-37.77261,175.27313],[-37.77367,175.27313]];        
var rect = L.rectangle(bounds, {color: 'blue', weight: 1}).on('click', function (e) {
    // There event is event object
    // there e.type === 'click'
    // there e.lanlng === L.LatLng on map
    // there e.target.getLatLngs() - your rectangle coordinates
    // but e.target !== rect
    console.info(e);
}).addTo(map);

    });
}); 

http://jsfiddle.net/tridip/yyetbb1j/1/

1 个答案:

答案 0 :(得分:1)

尝试绘制"多边形"。见Leaflet API