传单 - 弹出窗口中的按钮应引用 onclick.location 但不是
Leaflet - button in a popup should refer to onclick.location but doesn't
我是使用 leaflet 进行编程的新手,我认为自己仍然是 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);
- 将您的 latlng 转换为字符串:
var latlngStr = JSON.stringify([e.latlng.lat,e.latlng.lng]);
- 将您的按钮
onclick
更新为:onclick="btn_action_spi(\''+latlngStr+'\')"
并传递 latlng 字符串
- 读出函数中的
latlngStr
然后转换回L.latLng:函数var latlng = L.latLng(JSON.parse(latlngStr));
我是使用 leaflet 进行编程的新手,我认为自己仍然是 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);
- 将您的 latlng 转换为字符串:
var latlngStr = JSON.stringify([e.latlng.lat,e.latlng.lng]);
- 将您的按钮
onclick
更新为:onclick="btn_action_spi(\''+latlngStr+'\')"
并传递 latlng 字符串 - 读出函数中的
latlngStr
然后转换回L.latLng:函数var latlng = L.latLng(JSON.parse(latlngStr));