在我看来,我有两个文本输入字段。每个嵌入其段落内。
<p><input id="filterNearbyLatitude" name="filterNearbyLatitude" type="text" class="form-control numeric" placeholder="Latitude"/></p>
<p><input id="filterNearbyLongitude" name="filterNearbyLongitude" type="text" class="form-control numeric" placeholder="Longitude"/></p>
当我试图确定用户的坐标时,如果用户同意,则收集坐标:
$(function () {
navigator.geolocation.getCurrentPosition(showPosition, positionError);
function showPosition(position) {
var coordinates = position.coords;
derivedLatitude = coordinates.latitude;
derivedLongitude = coordinates.longitude;
$('#filterNearbyLatitude').val(derivedLatitude);
$('#filterNearbyLongtitude').val(derivedLongitude);
console.log('Derived Coordinates: Lat:' + derivedLatitude + ' Lng:' + derivedLongitude);
}
function positionError(position) {
derivedLatitude = 0;
derivedLongitude = 0;
$('#filterNearbyLatitude').val();
$('#filterNearbyLongtitude').val();
console.log('Derived Coordinates Failed');
}
});
所有内容似乎都能正常工作,系统会提示用户确定其位置,设置变量derivedLatitude和derivedLongitude,并写入控制台消息。
Derived Coordinates: Lat:39.747606140632754 Lng:-84.1504838931303
问题是当这两个变量(derivedLatitude和derivedLongitude)被设置为两个文本输入中的值时。纬度设置,但经度始终为空。
我无法找出为什么只有一个字段会更新。非常感谢第二双眼睛。
答案 0 :(得分:0)
@Taplar能够发现几小时内可以忽略的拼写错误。
答案 1 :(得分:0)
您使用的是错误的ID。请更新到这行代码。
$('#filterNearbyLongitude').val(derivedLongitude);
$('#filterNearbyLongitude').val();