传单 - 弹出窗口中的按钮应引用onclick.location,但不能



我是传单编程的新手,我认为自己仍然是html、javascript等的新手。在一个业余项目中,我计划在数据库中收集数据。在我到达那里的步骤中,我想达到一些以前的东西。应该发生什么:

  • 点击地图
  • 弹出窗口将打开
  • 有类别可供选择[带按钮]
  • 在我选择了一个类别后,应该会发生一些特定的事情(那是为了以后我更经验的时候(
  • 就目前而言:应该打开一个带有我的类别的警报,并且(onclick函数的(纬度和经度应该是可见的

但现在,使用下面的代码,警报将不再打开。你有什么提示吗?我应该研究什么功能来解决我的问题?还是更容易,甚至是某种打字错误?

非常感谢:(

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);

将代码更改为:

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. 将您的lating转换为字符串:var latlngStr = JSON.stringify([e.latlng.lat,e.latlng.lng]);
  2. 将按钮onclick更新为:onclick="btn_action_spi(''+latlngStr+'')"并传递latingstring
  3. 读取函数中的latlngStr,然后将其转换回L.latLng:函数var latlng = L.latLng(JSON.parse(latlngStr));

最新更新