получить позицию геолокации внутри контроллера codeigniter - PullRequest
1 голос
/ 20 февраля 2012

Я бы получил с помощью google maps api geolocation значение широты и долготы моей позиции и использовал бы эти значения в моем контроллере как простой php vars.do вы знаете, существует ли какая-нибудь библиотека, помощник или какой-либо способ сделать то, что янужно?

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

одна вещь, которую вы должны знать, это то, что GeoLocation API - это браузер / клиент.Невозможно определить более точное местоположение, чем IP, со стороны сервера.

, чтобы ответить на ваш вопрос о том, как «получить позицию GeoLocation внутри контроллера codeigniter», что вам нужно сделать, это попытаться передатьинформация от клиентской стороны до серверной.

Один из способов сделать это - через ajax.Вот пример потока:

1) Пользователь переходит на вашу веб-страницу (на данный момент вы еще не знаете местоположение пользователя more-accuate-then-ip)

2) Вам будет предложенопользователь может поделиться своим местоположением с помощью браузера GeoLocation API .

3) Если пользователь позволяет вам узнать свое местоположение, нажав «поделиться местоположением», то вы совершаете ajax-вызов обратносервер с более точным местоположением ip пользователя.

4) Получив это, вы можете сообщить клиенту, что делать в своем ответе на ajax.

PS вам также следуетобрабатывать поток, когда пользователь выбирает НЕ делиться с вами своим местоположением more-accuate-then-ip через API GeoLocation.

ОБНОВЛЕНИЕ

И, как и все остальные, сказал простоПрочитайте API v3 gmap.это просто что-то вроде

if (navigator.geolocation) var gl = navigator.geolocation;
if (gl) {
   gl.getCurrentPosition(function(position) {
      alert(position.coords.latitude);
      alert(position.coords.longitude);
   }, function(positionError) {
      alert(positionError.message);
   });
}
1 голос
/ 20 февраля 2012

Посмотрите на эту Библиотеку API Карт Google V3 , инструкции здесь (посмотрите инструкции по геокодированию)

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