编辑:已解决,使用工作代码更新。谢谢大家!
我有一个在 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>