Печать карт Google с нумерованными маркерами - PullRequest
0 голосов
/ 18 июня 2010

Ссылка на карту: http://2dynamic.com.au/glebe/maps-aamp-guides.html

В приведенной выше ссылке у нас есть динамические маркеры в представлении карты.Когда я нажимаю на печать текущей карты, мне нужно, чтобы карта загружалась с динамически пронумерованными маркерами.Я надеюсь, что это возможно сделать.

Лучше, если кто-то сможет показать какой-нибудь пример кодирования.

Ответы [ 2 ]

1 голос
/ 21 июня 2010

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

0 голосов
/ 21 июня 2010

Другой вариант того, что Алекс предложил , может заключаться в использовании набора пронумерованных значков, например одного из наборов, представленных на следующем сайте:

Тогда вы сможете сделать следующее (используя API v3):

<!DOCTYPE html>
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Demo</title> 
    <script type="text/javascript"
            src="http://maps.google.com/maps/api/js?sensor=false"></script> 

    <script type="text/javascript"> 
    function initialize() {

      var map = new google.maps.Map(document.getElementById("map"), {
        zoom: 11,
        center: new google.maps.LatLng(-33.9, 151.2),
        mapTypeId: google.maps.MapTypeId.ROADMAP
      });

      var locations = [
        ['Bondi Beach', -33.890542, 151.274856, 4],
        ['Coogee Beach', -33.923036, 151.259052, 5],
        ['Cronulla Beach', -34.028249, 151.157507, 3],
        ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
        ['Maroubra Beach', -33.950198, 151.259302, 1]
      ];

      var image;

      for (var i = 0; i < locations.length; i++) {
        image = new google.maps.MarkerImage('marker' + i + '.png',
                                            new google.maps.Size(20, 34),
                                            new google.maps.Point(0, 0),
                                            new google.maps.Point(10, 34));

        new google.maps.Marker({
          position: new google.maps.LatLng(location[1], location[2]),
          map: map,
          icon: image,
          title: location[0],
          zIndex: location[3]
        });
      }
    }
    </script> 
</head> 
<body style="margin:0px; padding:0px;" onload="initialize();"> 
    <div id="map" style="width:400px; height:500px;"></div> 
</body> 
</html>

Скриншот из приведенного выше примера:

Значки нумерованных маркеров Google http://img716.imageshack.us/img716/3433/nummap.png

Обратите внимание, что вы можете легко добавить тень за маркерами. Вы можете проверить пример в Справочник по API Карт Google: сложные маркеры для получения дополнительной информации об этом.

Портирование этого примера в API v2 должно быть довольно простым. Дайте мне знать, если вам понадобится помощь.

...