Дублируйте значок маркера в Google Maps API V3 - PullRequest
0 голосов
/ 01 марта 2011

У меня есть этот cide для дублирования значка из ранее объявленного маркера, но он не работает:

map = new google.maps.Map(document.getElementById('map'), {
  zoom:12,
  center:latlng2,
  mapTypeId:google.maps.MapTypeId.SATELLITE
});

marker = new google.maps.Marker({
  map:map,
  icon: new google.maps.MarkerImage(
    'http://www.gettyicons.com/free-icons/108/gis-gps/png/24/needle_left_yellow_2_24.png',
    new google.maps.Size(24, 24),
    new google.maps.Point(0, 0),
    new google.maps.Point(0, 24)
  )
});

var babyIcon = new google.maps.MarkerImage(marker.getIcon(),
  new google.maps.Size(
      marker.getIcon().size.width * this.iconScale_,
      marker.getIcon().size.height * this.iconScale_
  ),
  new google.maps.Point(0,0),
  new google.maps.Point (
      marker.getIcon().anchor.x * this.iconScale_,
      marker.getIcon().anchor.y * this.iconScale_ / 2
  )
);

// kill the shadow
babyIcon.shadow = null;

this.babyMarker_ = new google.maps.Marker({
  position:new google.maps.LatLng(0,0),
  icon: babyIcon,
  draggable:false,
  map:map
});

не работает, значок не отображается и все такое. Что-то мне не хватает?

1 Ответ

2 голосов
/ 01 марта 2011

Вам нужно установить URL-адрес MarkerImage, вам нужно свойство .ra (не спрашивайте меня)

var babyIcon = new google.maps.MarkerImage(
  marker.getIcon().ra,
  new google.maps.Size(
      marker.getIcon().size.width * this.iconScale_,
      marker.getIcon().size.height * this.iconScale_
  ),
  new google.maps.Point(0,0),
  new google.maps.Point (
      marker.getIcon().anchor.x * this.iconScale_,
      marker.getIcon().anchor.y * this.iconScale_ / 2
  )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...