Я изо всех сил пытался установить правильную непрозрачность в изображении значка, связанном с файлом .kml, который затем был реализован на карте Leaflet.
Я использовал плагин leaflet-kml, основанный здесь:
https://github.com/windycom/leaflet-kml
и после прикрепления L.KML.js
мой код выглядит так:
var track
var kml = fetch('Coventry.kml')
.then( res => res.text() )
.then( kmltext => {
// Create new kml overlay
parser = new DOMParser();
kml = parser.parseFromString(kmltext,"text/xml");
track = new L.KML(kml);
//console.log(kml)
//const track = new L.KML(kml)
map.addLayer(track)
// Adjust map to show the kml
const bounds = track.getBounds()
map.fitBounds( bounds )
});
$('sldOpacity').on('change', function(){
$('image-opacity').html(this.value);
track.setStyle({opacity: this.value, fillOpacity: this.value});
});
Я также пытался:
sldOpacity.onchange = function() {
document.getElementById('image-opacity').innerHTML = this.value;
track.setStyle({fillOpacity: this.value});
}
ноэто не сработало.
Мой CSS выглядит следующим образом:
#sldOpacity
{
opacity: 0.7;
}
#image-opacity
{
opacity: 0.7;
}
и HTML
<span id="image-opacity">0.5</span>
<input type="range" id="sldOpacity" min="0" max="1" step="0.1" value="0.5" />
CSS влияют только на диапазон HTML, делая его прозрачным,тогда как изображение остается непрозрачным.
Как изменить непрозрачность изображения, импортированного как значок в документе KML?
https://jsfiddle.net/woosmap/3za64ksx/
, который работает дляGoogle Maps API.
Вот хороший пример:
Но он отлично работает только для полигонов, тогда как моя проблема относится к изображению, помещенному в файл .kml, который выглядит следующим образом:
<GroundOverlay>
<name>Coventry.tif</name>
<description>http://localhost/testc/Coventry.tif</description>
<Icon>
<href>https://i.imgur.com/58CbNhB.png</href>
<viewBoundScale>0.75</viewBoundScale>
</Icon>
<color>55ffffff</color>
<LatLonBox>
<north>52.39388512224325</north>
<south>52.39299906007814</south>
<east>-1.458241039649089</east>
<west>-1.460061203494303</west>
</LatLonBox>
</GroundOverlay>
Раздел значков работает только в Google Планета Земля, но не в листовке.
Также это решение выглядит хорошо,но это справедливо только для файла GeoJSON ...
Изменить непрозрачность с помощью листовки без плагина
Возможно, эта ссылка может дать какое-то решение:
http://michaelminn.net/tutorials/leaflet/
но, к сожалению, я не могу увидеть исходный код автономной карты.
У вас есть какие-либо решения?
Спасибо и с уважением