簡體   English   中英

Leaflet JS教程之后的“ this.update不是函數”

[英]“this.update is not a function” following Leaflet JS tutorial

我正在本Leaflet JS網站上復制此教程: https : //leafletjs.com/examples/choropleth/

添加控件的代碼是這樣的:

var info = L.control();

info.onAdd = function(mymap) {
//Create a div with a class of info
      this._div = L.DomUtil.create('div', 'info');
      this.update();
      return this._div;
};

但是,當我這樣做時,出現以下錯誤:
未捕獲的TypeError:this.update不是函數。

這是我將教程中的代碼合並到我的代碼中的方法:

var mymap = L.map('mapid').setView([41.850033, -87.6500523], 3.2);

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
            attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
            maxZoom: 15,
            id: 'mapbox.mapbox-streets-v7',
            accessToken: 'pk.eyJ1IjoiYWxsYW5yaW1iYW4iLCJhIjoiZWEyYTc5NDhmZjdmYjQzM2I3MDdkN2I4OTQ3MjQyNWEifQ.U2GPM8lv7x--qHhbjNo5Ug'
        }).addTo(mymap);

        //control that shows county info
        var info = L.control();

        info.onAdd = function (mymap) {
            //Create a div with a class of info
            this._div = L.DomUtil.create('div', 'info');
            this.update();
            return this._div;
        };

        //method that will update the control based on feature properties passed

        info.udpate = function (props) {
            this._div.innerHTML = '<h4>US Election Result</h4>' + (props ? '<b>' + props.NAME + '</b>' : 'Hover over a county');
        };

        info.addTo(mymap);  

您可以在此處查看我的網頁和源代碼中的錯誤: https : //sushirittoman.github.io/maps/counties_project/index.html

請幫忙。 謝謝。

我什至不知道它是什么,但我知道了。
教程頁面還顯示最終結果 ,它使用完全相同的代碼。
然后我開始調試,並得到了它。
你只是拼錯了這個詞...

info.udpate → info.update

供您參考(以防萬一)
在這種情況下,“ this”表示“ info”。
因此,您只是在該部分中調用了自己的函數。(名稱更新並不重要。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM