2

我正在努力在我的网页屏幕上显示地图。但在显示时遇到一些错误。

错误 :-

TypeError: $("#driver_map").gmap3 is not a function

代码 :-

%script{:src=>'../assets/public/js/gmap3.js'}
%script{:src=>'http://maps.google.com/maps/api/js?sensor=false' :type=>'text/javascript'}
%script{:src=>'../assets/public/js/jquery-1.6.4.js'}

%html
  %head
    %body
      %div{:id=>"driver_map"}

:javascript
  $(function(){
    $('#driver_map').gmap3(
      { action:'init',
        options:{
          center:[46.578498,2.457275],
          zoom: 5
        }
      },
      { action: 'addMarkers',
        markers:[
          {lat:48.8620722, lng:2.352047, data:'Paris !'},
          {lat:46.59433,lng:0.342236, data:'Poitiers : great city !'},
          {lat:42.704931, lng:2.894697, data:'Perpignan ! <br> GO USAP !'}
        ],            
      }
    );
  });  

请帮我解决这个错误。

4

1 回答 1

1

gmap3.js使用 jQuery,所以需要在jquery-1.6.4.js. 所有示例都按以下顺序加载内容:

  1. jQuery
  2. 谷歌地图
  3. gmap3

所以它可能也需要在 Google Maps JavaScript 之后加载。

尝试调整加载顺序:

%script{:src=>'../assets/public/js/jquery-1.6.4.js'}
%script{:src=>'http://maps.google.com/maps/api/js?sensor=false' :type=>'text/javascript'}
%script{:src=>'../assets/public/js/gmap3.js'}

我还建议不要使用亲属路径,它们只会造成麻烦。你最好使用绝对路径,'/assets/public/js/jquery-1.6.4.js'这样你就不必关心你在哪里。

于 2012-10-23T16:25:12.130 回答