16945


Google Map JavaScript API を使用しているのですが，Firefox で `TypeError: a is undefined
main.js:2:643`というエラーが出てしまいます．main.js は Google Map 側の js ファイルです．Chrome
ではこのようなエラーが出ることはありませんでした．他にも Google Map を使ったコードを書いているのですが，同様のエラーが出てしまっています．

これはコード上の問題でしょうか？それとも Firefox 側の問題でしょうか？以下のコードはエラーが出たものを抜粋したものです．

[code]

    <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script>
    var map;
    var marker;
    var home_latlng = {lat: <?php echo $lat; ?>, lng: <?php echo $lng; ?>};
    
    function initMap() {
      map = new google.maps.Map(document.getElementById('map'), {
        zoom: 16,
        center: home_latlng
      });
    
      marker = new google.maps.Marker({
        position: home_latlng,
        map: map
      });
    
      // クリックイベントを追加
      map.addListener('click', function(e) {
        getClickLatLng(e.latLng);
        geocodeLatLng(e.latLng);
      });
    }
    
    // クリックしたところの座標を取得
    function getClickLatLng(latlng) {
      // 座標を表示
      document.getElementById('lat').value = latlng.lat();
      document.getElementById('lng').value = latlng.lng();
    
      // マーカーを設置
      marker.setPosition(latlng);
    
      // 座標の中心をずらす
      map.panTo(latlng);
    }  
    
    
    // クリックした箇所の住所を表示する
    function geocodeLatLng(latlng) {
      var geocoder = new google.maps.Geocoder;
    
      geocoder.geocode({'location': latlng}, function(results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
          if (results[1]) {
            var res = results[1].formatted_address.split(' ');
            var address = res[2];
            document.getElementById('address').value = address;
          } else {
            window.alert('No results found');
          }
        } else {
          window.alert('Geocoder failed due to: ' + status);
        }
      });
    }
    
    initMap();
    </script>
    
[/code]


CC BY-SA 3.0
2015-09-26T04:33:13.703
16940
2015-10-07T12:07:49.373
11142
question
javascript php google-maps
Google Map JavaScript API で TypeError: a is undefined main.js:2:643 というエラー


エラー発生箇所を見てみたのですが  
GoogleMapのセルの描画で問題が起きている感じですね

見た感じ問題になりそうな箇所は見当たらないです。  
(※とは言えPHPから値を渡しているようなので値チェックされていること前提で話します)

FireFoxでGoogleMapと言えばエラーが発生して表示されない事があるようで、  
Googleの公式ヘルプを抜粋すると

[code]

    1. ブラウザのアドレス バーに「about:config」と入力します。
    2. [フィルタ] 欄に「image」と入力します。
    3. [dom.disable_image_scr_set] の値が「false」に設定されていることを確認します。
    4. [network.image.imageBehavior] の状態が「0」（初期設定値）に設定されていることを確認します。
    注: なお、ブラウザによっては、[network.image.imageBehavior] の代わりに [permissions.default.image] が表示されている場合があります。
    
[/code]

と、あります。  
あと問題になりそうなところでは、アドオンとかCookieあたりですかね。  
GoogleがCookieに保存できなかったりすると止まったりします。  
Cookieを拒否しているなら、"maps.google.co.jp"を例外に入れるなど対策が必要です。

アドオン関係ではGoogle自体からも`Skypeの拡張機能を無効、もしくは最新バージョンにアップデートする`と対策であります。  
例でSkypeが書かれていますが、アドオンによっては影響があるかもしれないので心当たりのある物を無効化して試してみる感じですかね。

こうズラズラと並べてみましたが、  
ブラウザが原因であれば上記の対策でエラーが出なくなるかもです。


CC BY-SA 3.0
2015-09-26T07:08:39.463
16945
2015-09-26T07:08:39.463
7676
16940
answer