Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   JavaScript + Google Maps (https://javascript.ru/forum/dom-window/18108-javascript-google-maps.html)

ahimaskrasavin 17.06.2011 14:03

JavaScript + Google Maps
 
Хочется сделать, как здесь: http://comfy.ua/shops/

Посоветуйте, как сделать подобную вещь. Не хочется придумывать велосипед и с нуля разбирать api google maps. Возможно, есть способы упростить задачу. Либо кто разбирал google maps, посоветуйте наиболее вменяемые материалы в сети. Спасибо

walik 17.06.2011 14:18

Примерно так.
var map, geocoder, marker;

window.onload = function() {
    //Создаем крту, где googleMap - ID div'a (к примеру)
    map = new GMap2(document.getElementById("googleMap"));
   
    //geocoder - будем использовать что бы получать координаты местности по адресу
    geocoder = new GClientGeocoder();

    //Кнопки управления картой
    var mapControl = new GLargeMapControl3D();
    map.addControl(mapControl);
}

// Функция будет показывать местность по адресу
function showAdress(address) {
    geocoder.getLatLng(address, function(point) {
		if (!point) {
			alert(address " not found");
		} else {
			map.setCenter(point, 12);
		}
	});
}

//Тут уже вызываем когда надо, к примеру:
showAddress('Москва Россия');
//Или
showAddress('St. Petersburg Russia');
//или
showAddress('Ул. хз какая 12, Москва, Россия');

И да, не забудьте подключить скрипт Google Maps

ahimaskrasavin 17.06.2011 17:45

Попробовал. Че-то не пашет. Ошибок не выводит. Вот:
http://fora.ua/temp/googleMapsTest.html

walik 17.06.2011 19:01

Так ты функцию showAdress вызываешь до того как мапа загружена (она загружается после загрузки документа (window.onload)).
Поставь вызов этих функций по событию какому то или тоже в онлоад закинь их.

ahimaskrasavin 20.06.2011 12:06

Разобрался. Появился следующий вопрос. Как поставить метку с нужным логотипом на карте?

ahimaskrasavin 20.06.2011 13:21

Разобрался. Вот решение: http://code.google.com/apis/maps/doc.../overlays.html


Часовой пояс GMT +3, время: 15:38.