編集:解決し、動作するコードで更新しました。みんなありがとう!
jsFiddleで動作している逆ジオロケーションアプリケーションがありますが、通常の環境では動作しないようです。
JSフィドル: http: //jsfiddle.net/vd3mK/
ローカルコード:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var geocoder;
function initialize() {
geocoder = new google.maps.Geocoder();
codeLatLng();
}
function codeLatLng() {
var input = document.getElementById("latlng").getAttribute('value');
var latlngStr = input.split(",", 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({
'latLng': latlng
}, function(results, status) {
document.getElementById("test").innerHTML = '' + (results[0].formatted_address); + ''
});
}
</script>
</head>
<body onload="initialize()">
<div id="latlng" value="43.4494152,-80.4881973"></div>
<div id="test"></div>
</body>
</html>
ローカルバージョンが私のブラウザで実行されると、「​​​​」が表示されます。
これの原因は何ですか?どうすれば修正できますか?ありがとう!
ワーキングコード
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder;
function codeLatLng() {
var input = document.getElementById("latlng").getAttribute('value');
var latlngStr = input.split(",", 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({
'latLng' : latlng
}, function(results, status) {
document.getElementById("test").innerHTML = '' + (results[0].formatted_address);
+''
});
}
function initialize() {
geocoder = new google.maps.Geocoder();
codeLatLng();
}
</script>
</head>
<body onload="initialize();">
<div id="latlng" value="43.4494152,-80.4881973"></div>
<div id="test"></div>
</body>
</html>