1

編集:解決し、動作するコードで更新しました。みんなありがとう!

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>
4

1 に答える 1

1

メタタグを使用してページのエンコードを設定する必要がありますが、実際のページ(ファイル)もUTF-8でエンコードする必要があります。

于 2012-09-27T16:49:41.400 に答える