Карта Google не отображается в Firefox

#javascript #jquery #google-maps #firefox

#javascript #jquery #google-карты #firefox

Вопрос:

Я использую Google map api для создания карты. Используя следующий код, я могу сгенерировать карту в Google Chrome, но она не работает в Firefox. Кроме того, в консоли отсутствует ошибка JS и соответствующий html не генерируется в firefox.

 var map;
var marker;
var lat;
var lng;
var myLatlng;
var geocoder = new google.maps.Geocoder();
var infowindow = new google.maps.InfoWindow();

function initialize(){

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        myLatlng = new google.maps.LatLng(-23.69748,133.88362);
    }

    function showPosition(position) {
        lat = position.coords.latitude;
        lng = position.coords.longitude;
        show_map(lat,lng);
    }

    function show_map(lat,lng){

        var mapOptions = {
            zoom: 18,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        map = new google.maps.Map(document.getElementById("myMap"), mapOptions);
        map.setCenter(new google.maps.LatLng(lat,lng));
        map.setZoom(8);

        marker = new google.maps.Marker({
            map: map,
            position: new google.maps.LatLng(lat,lng),
            draggable: true
        });

        geocoder.geocode({'latLng': new google.maps.LatLng(lat,lng) }, function(results, status) {

            if (status == google.maps.GeocoderStatus.OK) {
                if (results[0]) {
                    infowindow.setContent(results[0].formatted_address);
                    infowindow.open(map, marker);
                }
            }

        });

    }

}

google.maps.event.addDomListener(window, 'load', initialize);
  

Комментарии:

1. Не могли бы вы опубликовать какую-нибудь скрипку?

2. geocoder = новый google.maps. Geocoder(); и infowindow = новый google.maps. InfoWindow(); — Попробуйте поместить эти строки внутри initialize() . (вы можете сохранить объявление глобальным).

3. Если navigator.geolocation значение равно false, то вы не вызываете show_map с myLatlng помощью as a possition.

Ответ №1:

Просто вызовите метод initialize like initialize(); , и он будет работать.

Я сделал вам рабочую скрипку здесь.