Получить новые квадратные InfoWindows с Google Maps? - PullRequest
4 голосов
/ 18 октября 2011

Я создаю веб-сайт, основной функцией которого является поиск по карте и отображение событий по спортивной борьбе, происходящих по всей Великобритании. Я использую v3 JavaScript API Карт Google для достижения этой цели, но у меня есть вопрос о том, почему информационные окна моего приложения отличаются от информационных окон на maps.google.co.uk .

Сравните следующие два снимка экрана. Mine:

enter image description here

И веб-сайт Google Maps:

enter image description here

Почему веб-сайт Карт Google имеет квадрат InfoWindows, и почему мое приложение, использующее последнюю версию API Google Maps JavaScript, округлило InfoWindows?

Ответы [ 2 ]

5 голосов
/ 07 ноября 2011

Martin

Я посетил демонстрации API Карт Google и нашел это демо:

http://gmaps -samples-v3.googlecode.com / SVN / багажник / геокодер / v3-геокодер-tool.html # д% 3D42.032974% 2C-90,703125

Вы должны увидеть квадратное информационное окно.

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

var openInfoWindow = function(resultNum, result, marker) {
    return function() {
      if (selected != null) {
        document.getElementById('p' + selected).style.backgroundColor = "white";
        clearBoundsOverlays();
      }

      map.fitBounds(result.geometry.viewport);
      infowindow.setContent(getAddressComponentsHtml(result.address_components));
      infowindow.open(map, marker);

      if (result.geometry.bounds) {
        boundsOverlay = new google.maps.Rectangle({
          'bounds': result.geometry.bounds,
          'strokeColor': '#ff0000',
          'strokeOpacity': 1.0,
          'strokeWeight': 2.0,
          'fillOpacity': 0.0
        });
        boundsOverlay.setMap(map);
        google.maps.event.addListener(boundsOverlay, 'click', onClickCallback);
        document.getElementById('boundsLegend').style.display = 'block';
      } else {
        boundsOverlay = null;
      }

      viewportOverlay = new google.maps.Rectangle({
          'bounds': result.geometry.viewport,
          'strokeColor': '#0000ff',
          'strokeOpacity': 1.0,
          'strokeWeight': 2.0,
          'fillOpacity': 0.0
        });
      viewportOverlay.setMap(map);
      google.maps.event.addListener(viewportOverlay, 'click', onClickCallback);
      document.getElementById('viewportLegend').style.display = 'block';

      document.getElementById('p' + resultNum).style.backgroundColor = "#eeeeff";
      document.getElementById('matches').scrollTop =
        document.getElementById('p' + resultNum).offsetTop -
        document.getElementById('matches').offsetTop;
      selected = resultNum;
    }
  }
1 голос
/ 09 ноября 2011

Просто небольшая заметка. Похоже, что v2 API теперь имеет квадратные информационные окна. У меня такой же вопрос. Но, возможно, это будет исправлено автоматически и в v3.

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