поставить собственное изображение в качестве маркера вместо метки - PullRequest
9 голосов
/ 16 мая 2011

Я хочу поставить свой маркер для этого кода:

  var map = new GMap2(document.getElementById("map-canvas"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(<?=$lat;?>,<?=$lng;?>), 6);

  var point = new GLatLng(<?=$lat;?>,<?=$lng;?>);
  var marker = createMarker(point,'Welcome:<b></b><br>Second Info Window with an image<br><img src="http://localhost/gps/user_photo/" width=80 height=80>')
  map.addOverlay(marker);

  function createMarker(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }

как я могу это сделать ?????

Ответы [ 2 ]

5 голосов
/ 16 мая 2011

API Карт Google V3 (убедитесь, что вы используете только это - вы, кажется, используете API V2!) Имеет хорошую документацию - убедитесь, что вы добавили эту закладку, она вам понадобится.

Существует множество примеров JavaScript . Здесь является примером для создания пользовательского маркера.

Также ознакомьтесь с Демо-галереей для расширенных приложений.

0 голосов
/ 18 мая 2011

Я согласен с тем, что вам не следует использовать API v2, но если вы по каким-то причинам обязаны его использовать, вы можете использовать свои собственные изображения, создав GIcon и присвоив его маркеру, т.е.

var mIcon = new GIcon();
mIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
mIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
mIcon.iconSize = new GSize(12, 20);
mIcon.shadowSize = new GSize(22, 20);
mIcon.iconAnchor = new GPoint(6, 20);
mIcon.infoWindowAnchor = new GPoint(5, 1);

Свойства GIcon их имен должны быть достаточно понятны; есть файлы изображений, их размеры и две привязки: одна указывает, где изображение будет прикреплено к карте, а другая - где будет прикреплено информационное окно к маркеру.

Когда вы создаете маркер, вы передаете значок в качестве аргумента и назначаете его маркеру, поэтому

function createMarker(point,html) {
    var marker = new GMarker(point);

становится

function createMarker(point, mIcon, html) {
    var markerOptions = {icon: mIcon};
    var marker = new GMarker(point, markerOptions);

и это должно заботиться о бизнесе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...