Google Map JavaScript API を使用しているのですが,Firefox で TypeError: a is undefined main.js:2:643
というエラーが出てしまいます.main.js は Google Map 側の js ファイルです.Chrome ではこのようなエラーが出ることはありませんでした.他にも Google Map を使ったコードを書いているのですが,同様のエラーが出てしまっています.
これはコード上の問題でしょうか?それとも Firefox 側の問題でしょうか?以下のコードはエラーが出たものを抜粋したものです.
<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>