Tôi đã tạo Trình mã hóa địa lý Google Phiên bản 3, tôi muốn có thể chọn tọa độ của điểm đánh dấu khi nó được kéo hoặc nhấp. Dưới đây là mã của tôi:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API v3 Example: Geocoding Simple</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<script src="http://maps.google.com/maps/api/js?v=3.5&sensor=false"></script>
<script type="text/javascript">
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
draggable: true,
position: results[0].geometry.location
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>
<style type="text/css">
#controls {
position: absolute;
bottom: 1em;
left: 100px;
width: 400px;
z-index: 20000;
padding: 0 0.5em 0.5em 0.5em;
}
html, body, #map_canvas {
margin: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body onload="initialize()">
<div id="controls">
<input id="address" type="textbox" value="Sydney, NSW">
<input type="button" value="Geocode" onclick="codeAddress()">
</div>
<div id="map_canvas"></div>
</body>
</html>
Tôi đã cố gắng sử dụng đoạn mã sau để làm điều này nhưng dường như nó không hoạt động.
// Javascript//
google.maps.event.addListener(marker, 'dragend', function(evt){
document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>';
});
google.maps.event.addListener(marker, 'dragstart', function(evt){
document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>';
});
map.setCenter(marker.position);
marker.setMap(map);
//HTML//
<div id='map_canvas'></div>
<div id="current">Nothing yet...</div>
Xin chào @Roy Tôi, tôi muốn nhập địa chỉ rồi lấy tọa độ trong cửa sổ bật lên, Giống như ví dụ của tôi. Trong ví dụ của tôi, bạn có thể đi đến một địa chỉ thông qua nhập văn bản sau đó kéo điểm, tôi muốn bật tọa độ khi tôi kéo điểm. Ví dụ dưới đây là tốt nhưng tôi muốn nhập một địa chỉ? Bạn có thể vui lòng giúp tôi được không?
—
Blake Loizides
Ví dụ Mapperz trông khá tốt. Tôi đã không sử dụng API GM trong một thời gian, bạn có thể nhận được câu trả lời nhanh hơn trên StackOverflow.
—
Roy
Một blog chi tiết: goo.gl/pDD6Q8
—
Suresh Kamrushi
evt.latLng
để lấy tọa độ