2

大家好,我尝试使用地理定位为我的网站使用 joomla

我获得了纬度和经度,很好......但不要给我看任何地图在我的代码中,我在 div 内绘制地图

这是我的代码

   <script type="text/javascript">
     function init() {
     if (navigator.geolocation) {
     navigator.geolocation.getCurrentPosition(function(position) {
     var myLatlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);

    var mapOptions= {
     zoom: 14,
     center: myLatlng,
     mapTypeId: google.maps.MapTypeId.ROADMAP
    };

     var map = new google.maps.Map(document.getElementById('map'), mapOptions);
     var marcador = new google.maps.Marker();
     marcador.setPosition(pos);
     marcador.setMap(map);

     }, function() {
     alert("su navegador no acepta geolocalización");
     });
     }
     }   
     google.maps.event.addDomListener(window, 'load', init);
     </script>

在我的脑海里我有这个

    <script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js?ver=3.1.2'></script>

他在我的身体里

<div id="map"></div>

我读过其他有同样问题的帖子,但我在代码中没有发现错误。

谢谢

4

4 回答 4

2

您的代码中有一些小错误 - 提示:尝试使用 Chrome 中的 Javascript 控制台查看这些错误:

  • 您没有在此处定义“pos”:marcador.setPosition(pos);
  • ...并且您想用它创建一个标记,因此您必须使用 LatLng 对象
  • 给你的 div 一个宽度和高度(如果你还没有在你的 CSS 文件中这样做的话)

这是一个 JSFiddle 修复了所有错误

于 2012-09-20T12:56:17.150 回答
1

在哪里pos定义?这很可能会导致 JS 错误,从而阻止地图显示。

marcador.setPosition(pos);
于 2012-09-20T12:54:40.840 回答
1

给你的 div 一个大小(宽度和高度):

<div id="map" style="width:400px;height:300px"></div>
于 2012-09-20T12:55:00.290 回答
0

您需要为 #map 设置宽度和高度值,并确保调用 init()

这是我的jsfiddle:http: //jsfiddle.net/3MTtc/1/

于 2012-09-20T12:55:48.597 回答