5 php获取用户地理位置并写入txt

搞了半天没搞明白  求大佬帮忙

请先 登录 后评论

1 个回答

Kemin - 架构工程师
擅长:PHP|Go|Node|C|Java

php获取用户侧的ip地址是可以的:https://github.com/lionsoul2014/ip2region

如果要获取用户的地理坐标信息,例如经度纬度这种信息,需要浏览器支持地理位置,然后通过百度的API可以把经纬度信息转化为省市区县等实际地址,示例代码如下:

// JavaScript Document
window.onload = getMyLocation;
//文档加载完成调用getMyLocation方法
var latitude = "";  //纬度
var longitude = "";//经度
function getMyLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(displayLocation);
    } else {
        alert("浏览器不支持地理定位");
    }
}
//获取成功时回调的方法,并传入一个包含地理位置信息的参数
function displayLocation(position) {
    latitude = position.coords.latitude;  //纬度
    longitude = position.coords.longitude;//经度
    var div = document.getElementById("location");
    div.innerHTML = "纬度是:" + latitude + "  经度是:" + longitude;
    loadScript();
    //调用此方法异步调用百度地图api
}

function initialize() {
    //创建地图实例  
    var map = new BMap.Map('map');
    //创建一个坐标
    var point = new BMap.Point(longitude, latitude);
    //地图初始化,设置中心点坐标和地图级别  
    map.centerAndZoom(point, 15);
    map.addControl(new BMap.MapTypeControl());
    var infoWindow = new BMap.InfoWindow("I am here");    // 创建信息窗口对象
    map.openInfoWindow(infoWindow, point);                 //开启信息窗口
}
function loadScript() {
    var script = document.createElement("script");
    // &callback=initialize地址后面加了这个表示在当脚本加载完成后callback函数会被立刻调用
    script.src = "http://api.map.baidu.com/api?v=2.0&ak=255b0a41e091ecf12a0790305ddc816b&callback=initialize";
    document.body.appendChild(script);
}



请先 登录 后评论