1

Когда я перемещаю маркер в верхнюю часть моей карты и не смотрю картинку (см. Изображение ниже), он получает высокую непрозрачность, что делает маркер близок к невидимому.Галочка Google Map исчезает после перетаскивания

Эта ошибка происходит только в Safari, и я действительно не знаю, что может быть причиной этого.

Image showing marker while doing move

Image showing marker after move ended with opacity bug

Если вы приглядитесь на втором изображении вы можете увидеть маркер.

var myMarker = new Array(); 

$(function() { 

    latitude = 59.3294; 
    longitude = 18.0686; 


    var mapOptions = { 
     center: new google.maps.LatLng(latitude, longitude), 
     zoom: 4, 
     disableDefaultUI: true, 
     mapTypeControl: true, 
     mapTypeControlOptions: { 
      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
     } 
    } 

     map = new google.maps.Map(document.getElementById("map-canvas"), 
     mapOptions); 

     var id = 1; 

     var image = { 
     url: 'http://i.imgur.com/4yjea7s.png', 
     // This marker is 20 pixels wide by 32 pixels tall. 
     size: new google.maps.Size(33, 42), 
     // The origin for this image is 0,0. 
     origin: new google.maps.Point(0, 0), 
     // The anchor for this image is the base of the flagpole at 0,32. 
     anchor: new google.maps.Point(16, 42) 
    }; 
      myMarker[id] = new google.maps.Marker({ 
       position: new google.maps.LatLng(57.721035,12.939819), 
       map: map, 
       animation: google.maps.Animation.DROP, 
       draggable: false, 
       icon: image 
      }); 

      google.maps.event.addListener(myMarker[id], 'click', function() { 
      var image = { 
     url: 'http://i.imgur.com/1eHR1c3.png', 
     // This marker is 20 pixels wide by 32 pixels tall. 
     size: new google.maps.Size(108, 141), 
     // The origin for this image is 0,0. 
     origin: new google.maps.Point(0,0), 
     // The anchor for this image is the base of the flagpole at 0,32. 
     anchor: new google.maps.Point(54, 0) 
     }; 
     myMarker[id].setDraggable(true); 
     myMarker[id].setIcon(image); 
      }); 

    }); 

jsfiddle: http://jsfiddle.net/S5T9b/1/

http://jsfiddle.net/S5T9b/1/embedded/result/

Шаги для воспроизведения ошибки:

  1. Нажмите на маркер на карте
  2. Перетащите м arker в дальнюю часть карты div и отбросить его.

Маркер теперь должен быть почти невидимым, но если вы посмотрите внимательно, он все еще там. И вы можете снова щелкнуть по нему и переместить его - Затем он снова станет видимым.

Является ли это проблемой программирования для меня или это ошибка в Google Maps в Safari?

+1

jsfiddle не отображается маркер для вашего кода? – user2486495

+0

Что значит? Разве вы не видите маркеры на карте? Они видны для меня. – TimTastic

ответ

0

Работает отлично для меня в Safari с использованием Windows 7. Возможно, это всего лишь крошечная ошибка, поскольку из вашего кода я не вижу ничего, что могло бы заставить код работать нормально во всех браузерах, кроме Safari.

Я не уверен, если эти ребята точно такая же проблема, как вы, но это может быть стоит проверить ссылки в любом случае:

http://www.google.com/support/forum/p/maps/thread?tid=56c196bd9ad37c24&hl=en

http://www.google.com/support/forum/p/maps/thread?tid=26db8fd040386548&hl=en

Why are Google Map markers showing up on Firefox by not on Chrome, Safari and Internet Explorer

+0

В Safari было показано, что после перемещения маркера к вершине он получит некоторую проблему с непрозрачностью. Оказывается, это была ошибка z-index. Поэтому, если я не определяю zIndex, когда создаю маркер, он будет невидим в Safari. Я думаю, что это ошибка Google Maps на самом деле. http://stackoverflow.com/a/12061606/1679809 – TimTastic

2

Я уверен, что это ошибка Google maps. Однако я получил его на работу с помощью этого решения:

Вы должны указать как zIndex и добавить

optimized: false 

в каждый маркерный конструктор, например.

var marker = new google.maps.Marker({ 
    position: markerLatLng, 
    map: map, 
    icon: resultIcon, 
    optimized: false, 
    zIndex: 5 
}) 

Скопировано из: https://stackoverflow.com/a/12061606/1679809

+0

оптимизирован: false сделал это, без использования zIndex. Мы используем непрозрачность на карте, что может привести к ошибке (подтвержденной) Google maps. – user2955677

Смежные вопросы