我有一个多边形geojson文件(mapInfo),它有一个名为" field_hazards"的属性。危害包括大风/风暴,大雨,雷暴和冻雨" 如何根据field_hazard选项添加图像叠加?
请注意,geojson文件是作为drupal feed动态获取的。我已经制作了以下代码,但它返回一个空地图,不渲染多边形。
function getImage(d) {
return d === 'Freezing Rain' ? "http://mymap:8082/images/weather-images/43n.png" :
d === 'Thunderstorm' ? "http://mymap:8082/images/weather-images/11.png" :
d === 'Heavy Rain' ? "http://my:8082/weather-images/02n.png" :
d === 'Gale\/Storm' ? "http://mymap:8082/images/weather-images/15.png" :
"http://my:8082/images/weather-images/09.png";
}
var imageUrl = getImage(feature.properties.field_hazards);
var imageLayer = L.imageOverlay(imageUrl, imageBounds).addTo(map).bringToBack();
var boxOptions = {fillOpacity:0, opacity:0, onEachFeature: onEachBox};
//create the image interaction box
var imageBox = L.geoJson(mapInfo, boxOptions).addTo(map);
//zoom in to fit GeoJSON layer
map.fitBounds(imageBox.getBounds());
我看过这个例子" add image to rect polygon in leaflet ",但它要求我将图片网址预设为自己的属性。