3

現在、require.jsモジュール定義と依存関係ハンドラーを使用して、Googleマップライブラリとその拡張機能であるRichMarkerを読み込もうとしています。

次のように、Googleマップモジュールと拡張機能の両方へのパスを宣言しました。

"gmaps": "modules/google_maps",
"richmarker": "vendor/google/maps/richmarker.min"

google_mapsモジュールは次のようになります

define('gmaps', ['async!http://maps.googleapis.com/maps/api/js?key=mykey&sensor=true'],
function(){
  return window.google.maps;
});

そして最後に、グーグルマップライブラリと次のように定義されたadvancedMarker拡張機能を利用するために作られたモジュール:

define(['common', 'gmaps','jquery','jqueryui',  'bootstrap',"vendor/google/maps/clusterer.min", "tmp/clusteringData", "richmarker"],
function(common, gmaps){

それでも、googlemapは適切にオンロードを開始しますが、コンソールのrichmarker拡張機能に関するエラーが発生します:

Uncaught ReferenceError: google is not defined richmarker.min.js:1
Uncaught ReferenceError: RichMarker is not defined google.init.js:267

どこが間違っているのですか?助けてくれてありがとう。

4

2 に答える 2

0

私は少し前に同じ質問に答えました:

https://stackoverflow.com/a/13955963/1916258

私はあなたがグーグルオブジェクトを「シム」する必要があると思います。

require.config({
   baseUrl: 'js',
   paths: {
      gmaps: 'path/to/gmaps'
   },
   shim: {
      gmaps: {
         exports: 'google'
      }
   }
});
于 2012-12-20T14:36:21.343 に答える