【发布时间】:2015-01-09 07:57:09
【问题描述】:
这是我的第一篇文章,如果之前有人问过,我很抱歉。
我有一个用户在移动设备上填写的表格,该表格使用 JavaScript 地理定位捕获经度和纬度。这并不总是最准确的,所以我尝试将地理位置和谷歌地图可拖动图钉结合起来。
所以用户打开页面,地理位置在下面的脚本中输入当前的经度和纬度,如果错误,他们可以将图钉拖到正确的位置来更新文本字段。
我什么都试过了,结果好坏参半……如果有人能帮助我,那就太好了。
我希望这是有道理的......如果我不乐意解释更多
下面的脚本使您可以拖动图钉并使用 lon 和 lat 更新两个文本字段。
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<input type="text" id="latitude" placeholder="latitude">
<input type="text" id="longitude" placeholder="longitude">
<div id="map" style="width:500px; height:500px"></div>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
var $latitude = document.getElementById('latitude');
var $longitude = document.getElementById('longitude');
var latitude = 50.715591133433854
var longitude = -3.53485107421875;
var zoom = 7;
var LatLng = new google.maps.LatLng(latitude, longitude);
var mapOptions = {
zoom: zoom,
center: LatLng,
panControl: false,
zoomControl: false,
scaleControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map'),mapOptions);
var marker = new google.maps.Marker({
position: LatLng,
map: map,
title: 'Drag Me!',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function(marker){
var latLng = marker.latLng;
$latitude.value = latLng.lat();
$longitude.value = latLng.lng();
});
}
initialize();
</script>
</body>
</html>
【问题讨论】:
-
太棒了!现在有什么问题?
-
位置在代码中是硬设置的,我需要使用地理定位来获取当前位置
标签: javascript html google-maps google-maps-api-3 geolocation