-2
我把那裏我的整個代碼。試圖確定位置地址。我的腳本應該創建一個帶地理編碼地址的標記(在控制檯 - 變量kktina中)。谷歌地理編碼是遲到的(仍然落後一步)
但是,不幸的是,並不是一切都好。因爲通過腳本仍然可以解析以前的位置(或者它需要先前的座標,不需要)。也許代碼存在錯誤,但我無法做到這一點..
所以尋求幫助,謝謝!
<!DOCTYPE html>
<html>
<head>
<title>Google Maps JavaScript API v3 Example: Map Simple</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map_canvas {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places,geometry"></script>
<script src="http://code.jquery.com/jquery-1.7.min.js" type="text/javascript"></script>
<script>
var map,marker;
var geocoder = new google.maps.Geocoder();
var markers = [];
var img,icon,type;
var prenos,pos,address = "5",point;
function clearMarkersFromArray() {
if (markers.length>0){
markers[0].setMap(null);
markers.shift(markers[0]);
}
}
function geocodePosition(pos) {
geocoder.geocode({
latLng: pos
}, function(responses) {
if (responses && responses.length > 0) {
address = responses[0].formatted_address;
} else {
address = 'Cannot determine address at this location.';
}
});
return address;
}
function initialize() {
var mapOptions = {
zoom: 7,
center: new google.maps.LatLng(49,19),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions),
google.maps.event.addListener(map, 'click', function(response) {
clearMarkersFromArray();
point = new google.maps.LatLng(response.latLng.$a,response.latLng.ab);
var kktina = geocodePosition(point);
console.log(kktina);
var marker = new google.maps.Marker({
position: point,
draggable: true
});
markers.push(marker)
marker.setMap(map);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map_canvas" style="height:400px;width:700px;"></div>
</body>
</html>
你是對與此有關。數據必須在響應中。但它不適用於你寫/ /(我也有一個InfoWindow,這是行不通的)內的標記.. :(我想獲取 - 保存kktina函數以外。 – user1666761
如果它不如你所寫,修正它,正如我所說的,我沒有測試它,它確實將kktina保存在一個全局變量中,在你發佈的代碼中沒有InfoWindow,因此,這個語句「我把我的整個代碼。「 是不正確的。 – geocodezip