回答

11

我看到了三兩件事,以你的提琴立即彈出。

  1. 你從來沒有提到的谷歌JavaScript庫
  2. 你從沒叫過initialize()codeLatLng()
  3. 您使用的value屬性的div元素上,但你真正想要的是getAttribute()方法。

I changed your fiddle so it's working now

爲了完整起見,原代碼如下

<div id="latlng" value="54.9882,-1.5747"></div> 
<div id="test"></div> 
var geocoder; function initialize() { 
geocoder = new google.maps.Geocoder(); } function codeLatLng() { 

    var input = document.getElementById("latlng").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[4].formatted_address); + '' 
    }); }​ 

工作代碼:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<div id="latlng" value="54.9882,-1.5747"></div> 
<div id="test"></div> 
var geocoder; 
initialize(); 
codeLatLng(); 
function initialize() { 

    geocoder = new google.maps.Geocoder(); 
} 

function codeLatLng() { 

    var input = document.getElementById("latlng").getAttribute('value'); 
console.log(input); 
    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[4].formatted_address); + '' 
    }); 
}​ 
+0

對不起,我在我的原始代碼中有1和2,它是3封閉了交易。非常感謝你。 –

+0

沒問題,很樂意幫忙。 – Pete