Мне нужно отслеживать детали пользователя, для того, чтобы местоположение и IP-адрес этого клиента были необходимы.
Я получил IP-адрес от
$this->input->ip_address();
в codiigniter.
Теперь проблема в том, как я могу сделать свое местоположение на карте Google, используя их соответствующий IP-адрес
просто используйте ipinfo.io at
он использует местоположение api, которое мы можем отправить ip-адрес, и он вернет детали местоположения как json:
мы можем отображать обнажение на карте с подробностями долготы и долготы от json-ответа к API Google Maps.
Вот код, который я использовал:
этот скрипт создает экземпляр Google Map с широтой и долготой от json-ответа:
jQuery(document).ready(function(){ jQuery.get("http://ipinfo.io/202.88.237.138", function (response) { var lats = response.loc.split(',')[0]; var lngs = response.loc.split(',')[1]; map = new GMaps({ el: '#map', lat: lats, //latitude lng: lngs //longitude }); }, "jsonp"); });
и карта отобразится на:
<div style="border:1px solid red; height:745px;" id="map"></div>
API Google Maps gmaps.js необходим для запуска этого.
В качестве жизнеспособной (хотя и менее точной) альтернативы спецификация HTML5 включает Geolocation . Поскольку HTML 5 становится все более распространенным я думаю, мы можем ожидать, что это станет стандартом в будущем. Он также не требует использования внешних веб-сервисов или библиотек. Все, что вам нужно для геолокации, встроено прямо в браузер клиентов.
Я полагаю, что основным используемым методом является IP-адрес, указанный как указанный.
API Карт Google выполнит работу по поиску местоположения с помощью geoip для вас. Если пользователь находится на мобильном устройстве или имеет более точный способ определения местоположения (например, GPS), он будет использовать это вместо этого.
Вот хорошая отправная точка:
https://google-developers.appspot.com/maps/documentation/javascript/examples/map-geolocation
Если вам абсолютно необходимо получить местоположение только от IP, есть сторонние инструменты, которые вы можете очистить, чтобы получить эту информацию. Вы должны убедиться, что у вас есть разрешение заранее, если вы используете его в более крупном проекте.
freegeoip.net предоставляет публичный HTTP API для поиска геолокации IP-адресов. Он использует базу данных IP-адресов, связанных с городами, а также другую соответствующую информацию, такую как часовой пояс, широта и долгота.
Вам разрешено до 15 000 запросов в час. Если вам нужно больше, вы можете запустить freegeoip в качестве веб-сервера в своей собственной инфраструктуре. Смотрите: freegeoip на github