下面是从传单地图返回坐标的架构。
//Schema
name: {
type: String,
required: true,
trim: true
},
properties:{
},
coordinates: [Number]
,
email: {
type: String,
unique: true,
required: true,
trim: true
},
这是用于将点击后的坐标返回到我们的表单的代码。但是它不是以数字形式返回,而是以字符串形式返回。我们如何才能使输入成为表单中的数字?我们尝试了几件事,但没有任何效果。
map.on('click', onMapClick);
L.control.layers(baseLayers, overlays).addTo(map);
map.on('popupopen', function (e) {
var latLng = e["popup"]._latlng;
var form = document.querySelector('#popupForm');
form['coordinates'].value = latLng['lat'] + ', ' + latLng['lng'];
答案 0 :(得分:0)
将输入类型转换为数字。您可以将两个不同的输入类型用作纬度和经度的数字。然后抓取lat和lng并在输入中设置值。
HTML表单
<form id="popup-form" method='POST' action='/spotForm'>
<div class='form-group'>
<label for='spotName'>Name</label>
<input type='number'class='form-control' name='lat' placeholder='Latitude'>
<input type='number'class='form-control' name='lng' placeholder='Longitude'>
</div>
<button type='submit' class='btn btn-primary'>Add Spot Data</button>
</form>
JavaScript
map.on('popupopen', function (e) {
var latLng = e["popup"]._latlng;
var form = document.querySelector('#popup-form')
form['lat'].value = latLng['lat'];
form['lng'].value = latLng['lng'];
});
希望这对您有帮助!