Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как определить географическое расположение пользователя

312
01 августа 2009 года
dead_star
392 / / 26.11.2006
суть задачи
на станице есть гугловская карта
хочется сделать, так что бы когда пользователь заходит на эту страницу ему как центр карты отображался город, в котором он находится
речь идет только о центрировании на уровне города
естественно данные кэшируются на сервере и в куках
собственно пара вариантов решения
1. первое определить часовой пояс для вошедшего пользователя
тем самым определяем широту, на которой расположен пользователь
далее определяем, к какой стране он относится ru, en
тем самум примерно определяем долготу, далее выводим максимально крупный город, который соответствует этой широте и стране из которой зашел пользователь
долго, сложно и неточно((
2. есть вариант определения расположения по ip, у dnsstuff было что-то похожее
то-бишь чтение данных whois сервиса
но это требует немало ресурсов и времени, и кэшировать эти данные можно разве что в куках из-за большого объема
собственно этот вариант намного точнее предыдущего, но ресурсов требует в разы больше


так же есть проблема зума
например, для Москвы лучше 11 единиц
а для например Хета(есть у нас в стране такой город) идеально подходит 16 единиц
для начало можно просто взять среднее
попробовать определить эти данные можно по численности населения и занимаемой площади
2
02 августа 2009 года
squirL
5.6K / / 13.08.2003
google maxmind geoip
12
02 августа 2009 года
alekciy
3.0K / / 13.12.2005
2) Ни какой гарантии вообще то. Ни кто не обязывает использовать блок купленных адресов в городе N-ске и ни где более. Не раз видел адреса о которых я точно знал, что они в Самаре, однако вхуиз говорил про Голландию ;)

Большую точность дают geoip базы которые нередко собираются "вручную".
312
02 августа 2009 года
dead_star
392 / / 26.11.2006
спасибо почитал, очень интересно
правда возникли сложности с установкой((
и честно говоря я не понял как он работает в качестве Apache Module
Цитата:
For GeoIP clients, go to the download files page. You may need to enter your account login and password. From there, you can download the binary or CSV formats of the GeoIP databases you purchased. Then you will want to upload the databases to your web server.

If you are not a client, you can use the free GeoLite database, download from the GeoLite City page.


тоже маленький недостаток

312
02 августа 2009 года
dead_star
392 / / 26.11.2006
собственно все свелось к тому что я скачал файлы: geoip.inc, geoipcity.inc, GeoLiteCity.dat
в файле geoipcity.inc закоментил 34ую строчку. мне она ненужна
 
Код:
require_once 'geoipregionvars.php';

а на самой странице вызвал код
Код:
<pre>
<?php
include("geoipcity.inc");
$gi = geoip_open("GeoLiteCity.dat", GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,"128.103.60.28");
print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . " " . $record->city . "\n";
print $record->latitude . "\n";
print $record->longitude . "\n";

geoip_close($gi);
?>
</pre>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог