我想从他们的IP地址检索访问者的城市,州和国家等信息,以便我可以根据他们的位置自定义我的网页.有没有一种好的,可靠的方法在PHP中执行此操作?我使用JavaScript进行客户端脚本编写,使用PHP进行服务器端脚本编写,使用MySQL进行数据库访问.
我需要一个基于我所拥有的纬度/经度值的集合的国家,州和城市列表.我需要以保持层次结构并且没有重复的方式存储此信息(例如"USA"和"United States"和"United States of America"是同一个国家;我只想在我的数据库中有一个这个国家的实例) .
这可能与Google Map API有关吗?
从地理编码器结果中获取不同的数组内容时遇到问题.
item.formatted_address有效,但不是item.address_components.locality?
geocoder.geocode( {'address': request.term }, function(results, status) {
response($.map(results, function(item) {
alert(item.formatted_address+" "+item.address_components.locality)
}
});
Run Code Online (Sandbox Code Playgroud)
//返回的数组是;
"results" : [
{
"address_components" : [
{
"long_name" : "London",
"short_name" : "London",
"types" : [ "locality", "political" ]
} ],
"formatted_address" : "Westminster, London, UK" // rest of array...
Run Code Online (Sandbox Code Playgroud)
任何帮助赞赏!
DC
有没有办法只使用jQuery在网站上找到客户位置.例如,如果用户访问我的网站,我怎么能找到他们的大概位置只是使用jQuery.例如,如果用户来自旧金山CA,则会有一些类型标识符让我知道用户来自旧金山CA. 我真的不需要他们的确切位置只是县或一般的原产地.
编辑:如何生成http://flourishworks-webutils.appspot.com/req上的信息?
谢谢
互联网上有大量的服务,我们可以找到我们机器的外部IP地址,但这些服务通常提供有关互联网提供商或国家(或两者)的信息.
所以我的问题是:我怎样才能以编程方式获取这些信息知道IP地址?是否有一些公共目录或某些API用于检索此类信息?
我注意到现代的基于html5的地理定位总是要求用户"你想与这个网站分享你的位置吗?".这很好,但我知道还有其他尝试确定球场地理位置的路线,而无需申请此权限.如果我记得,这些服务使用ip数据库来尝试跟踪geolocaiton信息并将其提供给Web应用程序.
因此,在我的网站上,我希望在用户的邮政编码中获得"最佳猜测",而不会要求地理位置权限.这样做最简单和/或最好的方法是什么?
当我运行以下代码时,我从这个答案中得到了,我Uncaught TypeError: Cannot read property 'geocode' of undefined在浏览器控制台中出错,为什么会发生这种情况,因为initialize必须调用body load 函数,而不是调用initialize函数这里codeLatLng(lat, lng)先调用.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Reverse Geocoding</title>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}
//Get the latitude and the longitude;
function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
codeLatLng(lat, lng)
}
function errorFunction(){
alert("Geocoder failed");
}
function initialize() {
geocoder = new google.maps.Geocoder(); …Run Code Online (Sandbox Code Playgroud) geolocation ×3
google-maps ×3
javascript ×3
geocoding ×2
ip ×2
city ×1
geoip ×1
jquery ×1
location ×1
php ×1
zipcode ×1