Маркер на моей карте Google сначала отображается, а затем исчезает

У меня есть карта Google, использующая собственный стиль с использованием API v3. Проблема в том, что я добавляю маркер на карту, чтобы показать местоположение. Но когда страница загружается, маркер появляется на долю секунды, а затем исчезает. Я использовал приведенный ниже скрипт для создания карты.

Пожалуйста, дайте мне знать, что я могу сделать, чтобы исправить это?

    <script type="text/javascript">

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

     function init() {

                var mapOptions = {

                    zoom: 14,


                    center: new google.maps.LatLng(19.235116, 72.8551),



                    styles: [{featureType:"landscape",stylers:[{saturation:-100},{lightness:65},{visibility:"on"}]},{featureType:"poi",stylers:[{saturation:-100},{lightness:51},{visibility:"simplified"}]},{featureType:"road.highway",stylers:[{saturation:-100},{visibility:"simplified"}]},{featureType:"road.arterial",stylers:[{saturation:-100},{lightness:30},{visibility:"on"}]},{featureType:"road.local",stylers:[{saturation:-100},{lightness:40},{visibility:"on"}]},{featureType:"transit",stylers:[{saturation:-100},{visibility:"simplified"}]},{featureType:"administrative.province",stylers:[{visibility:"off"}]/**/},{featureType:"administrative.locality",stylers:[{visibility:"on"}]},{featureType:"administrative.neighborhood",stylers:[{visibility:"on"}]/**/},{featureType:"water",elementType:"labels",stylers:[{visibility:"on"},{lightness:-25},{saturation:-100}]},{featureType:"water",elementType:"geometry",stylers:[{hue:"#ffff00"},{lightness:-25},{saturation:-97}]}]
                };


              var map = new google.maps.Map(document.getElementById('map'), mapOptions);
              var myLatlng = new google.maps.LatLng(19.235116, 72.8551);

  var marker = new google.maps.Marker({
      position: new google.maps.LatLng(19.235116, 72.8551),
      map: map,
      title: 'Photonics Enterprise'
  });

                var mapElement = document.getElementById('map');

              var map = new google.maps.Map(mapElement, mapOptions);
            }

             </script>

person Jinesh    schedule 31.05.2014    source источник
comment
проверьте мой ответ ниже. Проблема в том, что вы переписываете карту, которую вы только что создали, поэтому вы получаете новую и пустую карту в конце выполнения вашего кода.   -  person sabotero    schedule 31.05.2014
comment
Большое спасибо! Это исправило это.   -  person Jinesh    schedule 05.06.2014


Ответы (1)


Проблема в том, что вы переписываете карту, которую вы только что создали, поэтому вы получаете новую и пустую карту в конце выполнения вашего кода.

Попробуй это:

<script type="text/javascript">

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

    function init() {
        //map options
        var mapOptions = {

            zoom: 14,
            center: new google.maps.LatLng(19.235116, 72.8551),
            styles: [{featureType:"landscape",stylers:[{saturation:-100},{lightness:65},{visibility:"on"}]},{featureType:"poi",stylers:[{saturation:-100},{lightness:51},{visibility:"simplified"}]},{featureType:"road.highway",stylers:[{saturation:-100},{visibility:"simplified"}]},{featureType:"road.arterial",stylers:[{saturation:-100},{lightness:30},{visibility:"on"}]},{featureType:"road.local",stylers:[{saturation:-100},{lightness:40},{visibility:"on"}]},{featureType:"transit",stylers:[{saturation:-100},{visibility:"simplified"}]},{featureType:"administrative.province",stylers:[{visibility:"off"}]/**/},{featureType:"administrative.locality",stylers:[{visibility:"on"}]},{featureType:"administrative.neighborhood",stylers:[{visibility:"on"}]/**/},{featureType:"water",elementType:"labels",stylers:[{visibility:"on"},{lightness:-25},{saturation:-100}]},{featureType:"water",elementType:"geometry",stylers:[{hue:"#ffff00"},{lightness:-25},{saturation:-97}]}]
        };

        //creating map
        var map = new google.maps.Map(document.getElementById('map'), mapOptions);
        // creating latlng object                 
        var myLatlng = new google.maps.LatLng(19.235116, 72.8551);

        // creating marker and binding it to the map you have just created
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(19.235116, 72.8551),
            map: map,
            title: 'Photonics Enterprise'
        });

        // don't recreate the map, because you'll loose all objects in the map created above!!
        //var mapElement = document.getElementById('map');
        //var map = new google.maps.Map(mapElement, mapOptions);
    }

</script>
person sabotero    schedule 31.05.2014