4

私はここで完全に明白な何かを見逃していますか?

私の意図は、座標をアドレスに変換し、それをdivに挿入することです

http://jsfiddle.net/sHLG6/1/

ありがとうございました

4

1 に答える 1

12

私はあなたのフィドルですぐに飛び出した3つのものを見ました。

  1. Googlejavascriptライブラリを参照したことはありません
  2. あなたは決して電話initialize()をしませんでしたcodeLatLng()
  3. div要素のプロパティを使用しvalueましたが、本当に必要なのはgetAttribute()メソッドでした。

私はあなたのフィドルを変えたのでそれは今働いています

完全を期すために、元のコードは次のとおりです。

<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); + ''
    });
}​
于 2012-05-12T22:18:16.680 に答える