传单中的javascript map 如何刷新

标签 javascript jquery leaflet

我使用 leaflet API 在 javascript 中有一个基本的 geoJson 程序。

<html>
<head>

<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js"></script>
<script src="india.js" type="text/javascript"></script>

</head>


<body>
<div id = "map1" style="width: 1100px; height: 400px"> </div>

<script>

var area = L.map('map1', {center: [27.8800,78.0800], zoom: 4 });

L.tileLayer('http://a.tiles.mapbox.com/v3/raj333.map-gugr5h08/{z}/{x}/{y}.png').addTo(area);

var indiaLayer= L.geoJson(india, {style: {weight: 2,
        opacity: 1,
        color: 'white',
        dashArray: '3',
        fillOpacity: 0.1}});

        area.addLayer(indiaLayer);

        function clicked(){

        this.options.style.fillOpacity = 0.8;
            //how to refresh layer in the given map

        }

        indiaLayer.on('click', clicked);                
</script>
</body>
</html>

问题是如何在 map 上自动刷新图层的内容。

例子在这里

             function clicked(){

        indiaLayer.style.fillOpacity = 0.8;
            //how to refresh layer in the given map

        }

        indiaLayer.on('click', clicked);   

当用户点击 indiaLayer 时,fillOpacity 变量会发生变化但不会反射(reflect)在 map 上,这是可以理解的,因为我没有刷新 map 。我不知道该怎么做。

请帮忙

P/s:这些是 indiaLayer 对象上可用的函数(即点击函数中的这个对象......为此目的使用哪个函数或不存在)

您可以在 Leaflef documentation 中查看 GEOJson 的可用方法列表。这是指向 v.0.7.7 的链接,这是本示例中可用的最接近的链接。

最佳答案

我上次用过

map._onResize(); 

这有助于我刷新 map 。也许有点 hack,但是,它有效。

在您的代码中将是 area._onResize()

P.S:也许你应该尝试改变设置新不透明度值的方式 - 尝试改变

function clicked(){
    this.options.style.fillOpacity = 0.8;
 }

对那个

function clicked(){
    this.setStyle({fillOpacity: 0.2});
 }

关于传单中的javascript map 如何刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18515230/

相关文章:

c# - 动态添加元素到 jQuery Sortable

Javascript - `this` 在回调中与 setTimeout 绑定(bind)

jquery - 联系表单的 2 列布局的 CSS 问题

wcf - 服务引用的正确 url 是什么?

leaflet - Leaflet中真正平滑的缩放

d3.js - 计算墨卡托 d3 缩放以匹配 Leaflet 缩放级别

javascript - 将 GeoJSON 对象包裹在 Leaflet.js map 周围

javascript - 仅以字符串形式的函数名称调用函数(ES6 语法)

javascript - 创建行为类似于 CombineLatest 但仅发出刚刚触发的源的值的 Observable

javascript - 向下滚动时淡入,向上滚动时淡出