mikai в рубрику JavaScript

Вопрос: Определение местанахождения по IP адресу (google maps)

Помогите разобраться как настроить скрипт (хочу встроить на страничку профайла юзера).
Вот описание, а здесь демо.

Надо чтобы при заходе на страничку профиля юзера показывало в Google maps его местарасположение, где ip юзера = $ip.

Задайте свой вопрос

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

Задать свой вопрос

Расскажите друзьям

Ответы на вопрос — 3

Grin
mikai, а что конкретно не понятно? Давай рассмотрим код примера:
 <script type="text/javascript"> 
// при загрузке страницы вызывается вот эта функция
// она подключает к странице скрипт указанного ниже адреса
// скрипт возвращает координаты юзера (клиента) и вызывает функцию callback
function getLocation(){
	script = document.createElement('script')
	script.src = 'http://www.nitinh.com/ip_query.php?callback=initialize'
	document.body.appendChild(script)
}

// функция колбэка берет аргументом объект geoDict
// проверяет, есть ли объект geoDict
// если да, рисует карту в диве с айди map_canvas	
// в противном случае выводит статус ошибки
function initialize(geoDict) {
	if(geoDict['status'] == 'ok') {
		if (GBrowserIsCompatible()) {
			var map = new GMap2(document.getElementById("map_canvas"));
			map.setCenter(new GLatLng(geoDict['Latitude'], geoDict['Longitude']), 12);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			var opts = { text : "<span style='font-size:12px;'>Hello! According to IP Database,<BR> you are currently here.</font>"};
			
			var marker = new PopupMarker(new GLatLng(geoDict['Latitude'], geoDict['Longitude']), opts);
			map.addOverlay(marker);
		  }
	}
	else document.write(geoDict['status'])
} 
</script>
#
Grin
mikai
За разьяснения работы скрипта огромное спасибо.
Но проблема в другом - вывод не пашет :(
Вывожу дивом как и положено:
<div id="map_canvas" style="width: 500px; height: 300px"></div>

И ещё: ведь надо подгружать JavaScript Maps верно?
Но что-то странное с ним - всё время пишет это:

Сервер прикладного программного интерфейса Google Maps отклонил ваш запрос. Причина может быть в том, что ключ прикладного программного интерфейса, используемого на данном сайте, зарегистрирован для другого веб-узла. Новый ключ для данного веб-узла можно сгенерировать на http://code.google.com/apis/maps/.

Пробывал генерировать новый ключ, - так он всё время один и тот же генерирует.
#
mikai
Grin
С какого урла запрашиваешь? Если с localhost, то работает и без ключа.
В общем, давай полный код в студию, а то в слепую как-то не очень разбираться ;-)
#
Grin

Новый ответ

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler