Google地图标记未显示

时间:2012-03-07 10:29:47

标签: google-maps

这就是这里找到的地图API文档的示例代码:

Google maps API documentation

我已经设置了地图并且正在显示。 下一步是显示带地理编码的标记.. 但它没有用?任何人都可以帮助我吗?

谢谢!

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

var loMap;
var loGeocoder;

$(document).ready(function()
{
    var loOptions = 
    {
        center:     new google.maps.LatLng(51.9645, 5.1965),
        zoom:       6,
        mapTypeId:  google.maps.MapTypeId.ROADMAP
    };

    loMap       = new google.maps.Map(document.getElementById('map'), loOptions);
    loGeocoder  = new google.maps.Geocoder();

    showMarkers();
});

function showMarkers()
{   
    console.log('World');
    loGeocoder.geocode( { 'address': 'Den Bosch'}, function (results, status)  
    {
        if(status == google.maps.GeocoderStatus.OK) 
        {
            console.log('Hello?');
            loMap.setCenter(results[0].geometry.location);
            console.log(results[0].geometry.location);
            var marker = new google.maps.Marker(
            {
                map:        loMap,
                position:   results[0].geometry.location
            });
        }
        else
        {
            console.log('Error');
        }           
    });
}
</script>

<div id="map" class="search_map" style="width: 220px; height: 240px"></div>

2 个答案:

答案 0 :(得分:0)

一个老问题,但是当我最近遇到这个问题时,我想我会分享我的解决方案。我发现我网站其他部分的Javascript中的某些内容干扰了Google地图。我没有在Firebug或Chrome控制台中收到任何错误,因此我无法准确找出冲突的原因。

我发现,如果我把谷歌地图放到一个空白的ASPX页面上(即没有包含我网站其余部分的所有Javascript和CSS的MasterPage),它就能正常工作。

解决方案?我将谷歌地图放入iframe,现在它的工作正常。如果您检查Google Map示例代码的来源,他们也会使用Iframe,因此必须有一些东西。

答案 1 :(得分:-1)

您需要将 new google.maps.LatLng(51.9645,5.1965)更改为 var place = new google.maps.LatLng(51.9645,5.1965); 然后使用地点作为 loOptions 的中心。 与标记相同也真的有效:) 并导入jquery 在页面开头。