2013-06-13 2 views
0

Я хочу, чтобы вставлять карту Google с помощью v3 API:Google Maps предоставляет серый/бежевый коробок

<!DOCTYPE html> 
<html> 
    <head> 
    <title>test</title> 
    <meta charset="utf-8" /> 
    </head> 
    <body> 
    <div class="map"></div> 
    <script src="http://maps.googleapis.com/maps/api/js?v=3&key=mykey&sensor=false&region=DE"></script> 
    <script> 
     new google.maps.Map(document.querySelector('div.map'), { 
     zoom: 4, center: new google.maps.LatLng(0, 0) 
     }); 
    </script> 
    </body> 
</html> 

В результате он успешно загружает весь Аякс и делает их в div.map но карта бежевая/серая, а элементы управления отсутствуют.

Примечание:

  • ключа = MyKey является заполнителем для моего ключа API
  • document.querySelector возвращает узел соответствующего элемента и работать на моем браузере
  • опуская тип карты разрешено как ROADMAP по умолчанию
  • вам не нужно вводить логику в нагрузка обертка для событий, как есть в конце документа

Так что, пожалуйста, не советуйте ничего об этом, я уже пробовал!

Так что я делаю неправильно?

Бодо

+1

Что определяет размер карты DIV? – geocodezip

+0

@geocodezip в исходном примере есть ширина bootstrap8 для ширины, и я сам даю ей высоту 400px – bodokaiser

+0

@geocodezip только что попытались удалить классы и поместить их где-нибудь без ограничений css, и результат был таким же. Просто ящик был больше – bodokaiser

ответ

1

MapTypeId является требуется на documnetation

mapTypeId MapTypeId T он начальный Map mapTypeId. Требуется.

<!DOCTYPE html> 
<html> 
    <head> 
    <title>test</title> 
    <meta charset="utf-8" /> 
    </head> 
    <body> 
    <div class="map" style="height:500px; wiodth:600px;"></div> 
    <script src="http://maps.googleapis.com/maps/api/js?v=3&sensor=false&region=DE"></script> 
    <script> 
     new google.maps.Map(document.querySelector('div.map'), { 
     zoom: 4, center: new google.maps.LatLng(0, 0), mapTypeId: google.maps.MapTypeId.ROADMAP 
     }); 
    </script> 
    </body> 
</html> 

working example

+0

Вы, где это правильно. V3 Экспериментальные установки ROADMAP по умолчанию, но 3.12 требует его. Спасибо! – bodokaiser

0

Согласно Google's examples, добавьте немного CSS, чтобы сделать карту шоу в определенном размере:

<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0; padding: 0 } 
    .map { height: 100% } 
</style> 

Попробуйте назначить карту к переменной:

var map = new google.maps.Map(...) 
+0

1. попробовал css => ничего не изменил (как я понял до сих пор css только для мобильной совместимости) 2. присвоение карте также не вносило изменений – bodokaiser

+0

может быть что-то не так с url-схема, которую я использую для запроса api (region?) – bodokaiser

+0

нет, это должно быть хорошо AFAIK – duncan

Смежные вопросы