地理位置搜寻 LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率。 mongodb地理位置索引,2d和2dsphere,对应平面和球面。 1.创建lbs集合存放地点坐标use lbs; db.lbs.insert( { loc:{ type: "Point", coordinates: [113.332264, 23.156206] }, name: "广州东站" } ) db.lbs.insert( { loc:{ type: "Point", coordinates: [113.330611, 23.147234] }, name: "林和西" } ) db.lbs.insert( { loc:{ ...
代码如下:function get_ip_place() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace(", ,$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } 上面来自开源中国写的真XXX,新闻我都不好意思发了,我们用正则表达式写更简单 来看看 代码如下:function get_ip_arr() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); preg_match_all("/\"(.*)\"/",$ip,$arr...
淘宝公布了他们的IP库http://ip.taobao.com/,还有REST API接口,不过每个用户的访问频率需小于10qps,访问方 式:http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串],返回内容以json格式的。具有IP查询,IP统计等功能。各大运营商拥有的IP数等信息。接下来介绍一下获取ip的实例: 代码如下: /** * 通过淘宝IP接口获取IP地理位置 * @param string $ip * @return: string **/ function getCity($...
代码如下:function getIPLoc_sina($queryIP){ $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP; $ch = curl_init($url); curl_setopt($ch,CURLOPT_ENCODING ,'utf8'); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回 $location = curl_exec($ch); $location = json_decode($location); curl_close($ch)...
代码如下:function get_ip_place() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace(", ,$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } 上面来自开源中国写的真XXX,新闻我都不好意思发了,我们用正则表达式写更简单 来看看 代码如下:function get_ip_arr() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); preg_match_all("/\"(.*)\"/",$ip,$arr...
Redis自3.2版本开始新增对GEO(地理位置)的支持,但是地球不是一个完美的球体,在最坏的情况下的偏差可能是0.5%。接近两极的区域是不支持的,支持坐标的有效的经度从-180度到180度;有效的纬度从-85.05112878度到85.05112878度,超出范围将会报错。我喜欢爬山,学习GEO的时候我也以山的坐标做演示,我的坐标是:116.517159,39.922267我整理了一些山的坐标$mountainCoordinates = array(array(115.793844, 40.584459, Hai_tuo),//海陀...
具体代码如下所述:/* 计算两组经纬度坐标之间的距离* @param $lat1 纬度1* @param $lng1 经度1* @param $lat2 纬度2* @param $lng2 经度2* @param int $len_type 返回值类型(1-m 2-km)* @param int $decimal 保留小数位数* @return float*/public function getDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2){$radLat1 = $lat1 * 3.1415926 / 180.0;$radLat2 = $lat2 * 3.1415926 / 180.0;$a = $radLat1 - $r...
地理位置搜寻 LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率。 mongodb地理位置索引,2d和2dsphere,对应平面和球面。 1.创建lbs集合存放地点坐标 use lbs; db.lbs.insert( { loc:{ type: "Point", coordinates: [113.332264, 23.156206] }, name: "广州东站" } ) db.lbs.insert( { loc:{ type: "Point", coordinates: [113.330611, 23.147234] }, name: "林和西" } ) db.lbs.insert( { loc:{...
发现之前有一个脚本没有写完,简单扩充了一下。 获取IP使用的是经典的逻辑,地理定位使用的是SINA的通用接口。 使用方法详见源码:代码如下: <?php /* * GET LOCATION BY SINA IP INTERFACE * * @SOULTEARY 2013.04.14 */ classIP { private $args=array(); function__construct() { $this->args=self::init_args(func_get_args()); $ip=self::GetIP(); $ret=preg_match...
一、获取浏览器信息,获取访客操作系统:windows、mac、linux、unix、bsd、other,以及访客ip地址等信息的PHP类 代码如下:<?php /** * 获取访客信息的类:语言、浏览器、操作系统、ip、地理位置、isp。 * 使用: * $obj = new guest_info; * $obj->getlang(); //获取访客语言:简体中文、繁體中文、english。 * $obj->getbrowser(); //获取访客浏览器:msie、firefox、chrome、safari、opera、other。 * $obj-...
淘宝公布了他们的IP库http://ip.taobao.com/,还有REST API接口,不过每个用户的访问频率需小于10qps,访问方 式:http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串],返回内容以json格式的。具有IP查询,IP统计等功能。各大运营商拥有的IP数等信息。接下来介绍一下获取ip的实例: 代码如下:<?php /** * 通过淘宝IP接口获取IP地理位置 * @param string $ip * @return: string **/ function getC...
代码如下:<?php function getIPLoc_sina($queryIP){ $url = http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=.$queryIP; $ch = curl_init($url); curl_setopt($ch,CURLOPT_ENCODING ,utf8); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回 $location = curl_exec($ch); $location = json_decode($location); curl_close($c...
代码如下:<?phpfunction getIPLoc_QQ($queryIP){ $url = http://ip.qq.com/cgi-bin/searchip?searchip1=.$queryIP; $ch = curl_init($url); curl_setopt($ch,CURLOPT_ENCODING ,gb2312); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回 $result = curl_exec($ch); $result = mb_convert_encoding($result, "utf-8", "gb2312"); // 编码转换,否则乱码...
一、Node.js实现代码 代码如下:var http = require(http);var util = require(util);/** * 根据 ip 获取获取地址信息 */var getIpInfo = function(ip, cb) { var sina_server = http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=; var url = sina_server + ip; http.get(url, function(res) { var code = res.statusCode; if (code == 200) { res.on(data, function(data) {...
一、Node.js实现代码 代码如下:var http = require('http');var util = require('util');/** * 根据 ip 获取获取地址信息 */var getIpInfo = function(ip, cb) { var sina_server = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='; var url = sina_server + ip; http.get(url, function(res) { var code = res.statusCode; if (code == 200) { res.on('data', function...