谷歌地图问题

时间:2013-04-12 11:37:05

标签: javascript google-maps

我正在尝试在联系我们页面中显示谷歌地图,不知道它没有显示的实际问题是什么,下面是我的代码

 <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places">

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(success);
    } else {
        alert("Geo Location is not supported on your current browser!");
    }
    function success(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;
        var city = position.coords.locality;
        var myLatlng = new google.maps.LatLng(latitude, longitude);
        var myOptions = {
            center: myLatlng,
            zoom: 12,
            mapTypeId: google.maps.MapTypeId.SATELLITE
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        var marker = new google.maps.Marker({
            position: myLatlng,
            title: "lat: " + latitude + " long: " + longitude
        });

        marker.setMap(map);
        var infowindow = new google.maps.InfoWindow({ content: "<b>User Address</b><br/> Latitude:" + latitude + "<br /> Longitude:" + longitude + "" });
        infowindow.open(map, marker);
    </script>

请帮忙

2 个答案:

答案 0 :(得分:1)

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript">
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(success);
} else {
    alert("Geo Location is not supported on your current browser!");
}
.....
</script>

请使用上述代码,它正在解决您的问题。

答案 1 :(得分:0)

Mayur的建议很好。但是在功能结束时你也有一个缺失的结束}。试试这个:

function success(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;
        var myLatlng = new google.maps.LatLng(latitude, longitude);
        var myOptions = {
            center: myLatlng,
            zoom: 12,
            mapTypeId: google.maps.MapTypeId.SATELLITE
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        var marker = new google.maps.Marker({
            position: myLatlng,
            title: "lat: " + latitude + " long: " + longitude
        });

        marker.setMap(map);
        var infowindow = new google.maps.InfoWindow({ content: "<b>User Address</b><br/> Latitude:" + latitude + "<br /> Longitude:" + longitude });
        infowindow.open(map, marker);
}

您还不需要在infowindow内容结束时执行+ ""。我还删除了未使用的变量city