Настроить информационное окно Google Maps? - PullRequest
0 голосов
/ 10 января 2009

Я работаю над сайтом клиента, местной церкви. Я встроил карту Google с помощью функции «Ссылка» на странице «Карты». Информационное окно на карте содержит «Отзывы», и церковь обеспокоена этим. Есть ли способ удалить это из информационного окна? Я не хочу удалять какие-либо отзывы, просто эту ссылку в информационном окне?

Возможно ли это? Есть ли другие параметры настройки (кроме размера), которыми можно манипулировать через строку запроса?

Ответы [ 2 ]

6 голосов
/ 10 января 2009

Почти 2 года назад я создал пользовательскую карту с полным контролем над содержимым пузыря, используя API и некоторые манипуляции с кодом. Нажмите на ссылку выше для демонстрации. Я очистил код для этого ответа, хотя для реализации вам необходимо заменить весь текст YOUR__BLANK__HERE соответствующими значениями.

Шаг 1: Вызов API gMaps

<script src="http://maps.google.com/maps?file=api&v=2&key=YOUR_API_KEY_HERE"
        type="text/javascript">
</script>

Шаг 2: В теле документа создайте элемент с идентификатором «карта». Размер и положение его с помощью CSS. Требуется высота и ширина.

    <div id="map" class="content"></div>

Шаг 3: После того, как div определен в DOM, можно безопасно вставить следующий тег script:

<script type="text/javascript">
//<![CDATA[

// Check to see if this browser can run the Google API
if (GBrowserIsCompatible()) {

  var gmarkers = [];
  var htmls = [];
  var to_htmls = [];
  var from_htmls = [];
  var i=0;

  // A function to create the marker and set up the event window
  function createMarker(point,name,html) {
    var marker = new GMarker(point);

    // The info window version with the "to here" form open
    to_htmls[i] = html +
       '<br />Start address:<form action="http://maps.google.com/maps" method="get">' +
       '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
       '<INPUT value="Get Directions" TYPE="SUBMIT">' +
       '<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() + 
              // "(" + name + ")" + 
       '"/>';
    // The inactive version of the direction info
    html = html + '<br><a href="javascript:tohere('+i+')">Get Directions<'+'/a>';

    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(html);
    });
    gmarkers[i] = marker;
    htmls[i] = html;
    i++;
    return marker;
  }

  // functions that open the directions forms
  function tohere(i) {
    gmarkers[i].openInfoWindowHtml(to_htmls[i]);
  }

  // Display the map, with some controls and set the initial location 
  var map = new GMap2(document.getElementById("map"));
  map.setCenter(new GLatLng(
    YOUR_LATITUDE_HERE,
    YOUR_LONGITUDE_HERE
    ), 
    YOUR_ZOOM_LEVEL_HERE // a value of 13 worked for me
  );

  // Set up one marker with an info window 
  var marker = createMarker(
    new GLatLng(
      YOUR_LATITUDE_HERE,
      YOUR_LONGITUDE_HERE
    ),
    'YOUR_MARKER_NAME_HERE',
    '<i>YOUR_HTML_HERE<'+'/i>');

  /* repeat the process to add more markers
  map.addOverlay(marker);
  var marker = createMarker(
    new GLatLng(
      YOUR_LATITUDE_HERE,
      YOUR_LONGITUDE_HERE
    ),
    'YOUR_MARKER_NAME_HERE',
    '<i>YOUR_HTML_HERE<'+'/i>');
  map.addOverlay(marker);*/
}


// display a warning if the browser was not compatible
else {
  alert("Sorry, the Google Maps API is not compatible with this browser");
}

// This Javascript is based on code provided by the
// Blackpool Community Church Javascript Team
// http://www.commchurch.freeserve.co.uk/   
// http://www.econym.demon.co.uk/googlemaps/

//]]>
</script>

Используя этот код, всплывающее окно содержит html, указанный в YOUR_HTML_HERE, плюс ссылку на Get Directions, которая (при нажатии) превращается в текстовое поле с запросом начального адреса. К сожалению, результат запроса открывается в новом окне браузера (поскольку на момент первоначальной публикации API не включал возможности направления)

0 голосов
/ 10 января 2009

Я думаю, что нашел ответ на свой вопрос. Информационное окно само по себе не может быть изменено, но с помощью ссылки на карту для самого адреса, а не на церковь, как субъект предпринимательства, добивается цели. Ссылка направления движения все еще там, и это в основном все, что они хотели.

...