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 回答