亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Leaflet - 彈出窗口中的按鈕應該引用 onclick.location 但不是

Leaflet - 彈出窗口中的按鈕應該引用 onclick.location 但不是

呼啦一陣風 2023-03-03 16:15:54
我是使用傳單進行編程的新手,并且將自己定義為 html、javascript 等方面的新手。在一個業余項目中,我計劃在數據庫中收集數據。在到達那里的步驟中,我想先達到一些目標。應該發生什么:點擊地圖將打開一個彈出窗口有類別可供選擇[帶按鈕]在我選擇了一個類別之后,應該會發生一些特定的事情(那是以后我更有經驗的時候)只是現在:一個警報應該打開我的類別并且緯度和經度(onclick-function)應該是可見的但是現在,警報將不再使用以下代碼打開。你對我有什么提示,我應該研究什么功能來解決我的問題?或者它更容易,甚至是某種錯字?太感謝了 :)function onMapClick(e) {    newpopup        .setLatLng(e.latlng)                .setContent("<h4>Neuen Standort hinzufügen</h4> <p>Füge einen Standort hinzu z.B. dein Lieblingsrestaurant.</p>" + '<button id="Restaurant" ion-button class="button-action" onclick="btn_action_res() + e.latlng" block>Restaurant</button>'            + '\n <button id="Spielplatz" ion-button class="button-action" onclick="btn_action_spi() + e.latlng" block>Spielplatz</button>')         .openOn(map);}function btn_action_res() {    alert("Latitude : " + e.latlng.lat + "\nLongitude : " + e.latlng.lng);    }function btn_action_spi() {    alert("Latitude : " + e.latlng.lat + "\nLongitude : " + e.latlng.lng);    }map.on('click', onMapClick);
查看完整描述

1 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

將您的代碼更改為:


newpopup = L.popup();

function onMapClick(e) {

    var latlngStr = JSON.stringify([e.latlng.lat,e.latlng.lng]);

    newpopup

        .setLatLng(e.latlng)        

        .setContent("<h4>Neuen Standort hinzufügen</h4> <p>Füge einen Standort hinzu z.B. dein Lieblingsrestaurant.</p>" + '<button id="Restaurant" ion-button class="button-action" onclick="btn_action_res(\''+latlngStr+'\')" block>Restaurant</button>'

            + '\n <button id="Spielplatz" ion-button class="button-action" onclick="btn_action_spi(\''+latlngStr+'\')" block>Spielplatz</button>') 

        .openOn(map);

}


function btn_action_res(latlngStr) {

    var latlng = L.latLng(JSON.parse(latlngStr));

    alert("Latitude : " + latlng.lat + "\nLongitude : " + latlng.lng);

    }


function btn_action_spi(latlngStr) {

    var latlng = L.latLng(JSON.parse(latlngStr));

    alert("Latitude : " + latlng.lat + "\nLongitude : " + latlng.lng);

    }


map.on('click', onMapClick);

  1. 將您的 latlng 轉換為字符串:var latlngStr = JSON.stringify([e.latlng.lat,e.latlng.lng]);

  2. 將您的按鈕更新onclick為:onclick="btn_action_spi(\''+latlngStr+'\')"并傳遞 latlng 字符串

  3. 讀出latlngStr函數中的,然后轉換回L.latLng:函數var latlng = L.latLng(JSON.parse(latlngStr));


查看完整回答
反對 回復 2023-03-03
  • 1 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號