0
什麼,我需要的是添加圖片到矩形的多邊形,而且也不希望它重演放大或縮小時,因爲和希望它是固定。任何建議將不勝感激,如果有任何其他方式來實現。 如果它可以被放置在geojson中,那將會很棒,因爲我必須給每個多邊形賦予一些屬性。並動態創建所有矩形多邊形。
代碼如下
var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib});
var map = new L.Map('map', {layers: [osm], center: new L.LatLng(24, 121), zoom: 9});
var states = [{
"type": "Feature",
"properties": {"party": "Republican"},
"geometry": {
"type": "Polygon",
"coordinates": [[
[-104.05, 48.99],
[-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.03, 36.99],
[-109.04, 36.99],
[-109.05, 41.00]
]]
}
}];
var poly1 = [
[24, 121],
[24.5, 121],
[24.5, 121.9],
[24, 121.9]
];
L.polygon(poly1, {fill:'url(http://i.imgur.com/ktPFJKC.jpg)'}).addTo(map);
L.geoJson(states, {
style: function(feature) {
switch (feature.properties.party) {
case 'Republican': return {color:'#ff0000'};
case 'Democrat': return {color: "#0000ff"};
}
}
}).addTo(map);
感謝ü的解釋和清除懷疑。 – Ratish
有幾個簡單的錯誤(我是否正確假設[這是小提琴](http://jsfiddle.net/17Ld98fv/1/)?)。首先,你需要在創建你的geojson之前定義你的'poly1'和'poly2'對象*。其次是座標問題。雖然Leaflet需要將點指定爲[lat,lon],但GeoJSON需要它們爲[lon,lat]。你會發現,如果你將L.geoJson的不透明度設置爲1,那麼這些框會出現在印度洋,而格陵蘭島上出現一個圖像疊加層,而另一個圖像疊加層缺失(90度以上的緯度無效)。 http://jsfiddle.net/nathansnider/17Ld98fv/2/ – nathansnider
所以我該如何糾正這個問題,因爲將會有大約40個元素,img url只能從geojson中獲取,因爲現在它正從您定義的變量中獲取。 – Ratish