很多朋友在使用google GeolocationAPI 接口测试基站定位,测试时需要往接口http://www.google.com/loc/json提交json格式的数据,json格式参数比较多,在IDE里测试起来也比较麻烦,有时因为一个语法错误不得不排查很长时间。
这里ant推荐一个比较简单的方法来测试json数据格式是否正确:使用curl测试。
curl是一个利用URL语法在命令行方式下工作的文件传输工具。使用curl来提交http GET/POST数据很是方便。curl是Unix/Linux下常用的工具,也有windows版本。
GeolocationAPI 的详细语法这里就不介绍了。
例如我们想通过http://www.google.com/loc/json查询LAC:14556 ,CELLID:36525 的基站位置。根据GeolocationAPI 里提到的语法,提交的数据应该是这样的格式:
{
"version": "1.1.0" ,
"host": "maps.google.com",
"access_token": "2:k7j3G6LaL6u_lafw:4iXOeOpTh1glSXe",
"home_mobile_country_code": 460,
"home_mobile_network_code":0,
"address_language": "zh_CN",
"radio_type": "gsm",
"request_address": true ,
"cell_towers":[
{
"cell_id":36526,
"location_area_code":14556,
"mobile_country_code":460,
"mobile_network_code":0,
"timing_advance":5555
}
]
}
下面我们通过curl测试该格式是否正确。
命令格式: curl -d ‘post的数据’ http://www.google.com/loc/json
这里只需要用到curl的-d参数,-d后面跟的是post的数据内容
在命令行下输入” curl -d ‘ “后回车,粘贴上面的json格式数据回车,再输入” ‘ http://www.google.com/loc/json”回车,就可以看到google的返回结果了。
通过curl可以方便的测试各种json参数组合。
更具以上接口说明,我写了以下可用代码
<?php
function curl_post($url, $vars, $second=30)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_TIMEOUT,$second);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$vars = '{
"version": "1.1.0" ,
"host": "maps.google.com",
"access_token": "2:k7j3G6LaL6u_lafw:4iXOeOpTh1glSXe",
"home_mobile_country_code": 460,
"home_mobile_network_code":0,
"address_language": "zh_CN",
"radio_type": "gsm",
"request_address": true ,
"cell_towers":[
{
"cell_id":36526,
"location_area_code":14556,
"mobile_country_code":460,
"mobile_network_code":0,
"timing_advance":5555
}
]
}';
$rdata = curl_post('http://www.google.com/loc/json',$vars);
$r_ary = (array) json_decode($rdata);
print_r($r_ary['location']);
?>
分享到:
相关推荐
综上所述,Android基于GeolocationAPI的基站定位涉及到网络通信、JSON解析、UI更新以及权限管理等多个方面,需要开发者对Android系统和网络编程有深入理解。在实际应用中,还需要考虑到不同设备、网络环境的差异,...
HTML5的地理定位功能演示
使用Geolocation API时,浏览器会询问用户是否允许应用访问其位置信息。用户可以选择“允许”、“仅这一次”或“不允许”,以保护个人隐私。开发者需要处理好权限请求,提供清晰的提示和合理的默认选项。 四、误差...
一个简单的学习项目,使我的脑袋环绕HTML5地理位置API和Google Maps。 包括Bootstrap 3,Angularjs,angular-google-maps和lodash。 使用Surge.sh托管
手机使用 Py60 收集数据(如 、 、 和 ),然后通过 LightBlue 移动到连接互联网的计算机,最后使用 GeolocationAPI 进行地理映射。 代码相当粗糙,部署/使用需要几个手动步骤。 但它足够简单,您应该能够自定义它...
本文将深入探讨如何使用Java编写Google基站定位代码,以及相关的技术要点。 首先,基站定位的基础是通过获取到手机连接的基站信息,包括基站的ID(Cell ID)、LAC(Location Area Code)和信号强度等数据。这些信息...
8. **地理定位**:可以使用JavaScript库(如`geoip-js`或`geolocationapi`)获取用户的IP地址,然后通过IP查找服务(如MaxMind)推测用户可能所在的地区。 9. **Cookie**:除了会话,还可以使用Cookie保存用户的...
本书分为11章,围绕HTML5标准提供了详细的API介绍和应用实例,旨在帮助读者直接掌握API的使用,并能将其应用于自己的HTML5程序中。第1章概括介绍了HTML5并阐述了其在各种设备和浏览器中的支持情况。第2章专注于...
当前,在Android上,它使用 。 Google不推荐使用此API,因为它不如推荐的准确和慢。 这是我们希望在不久的将来更改的内容 。 为了将新的与React Native一起使用,请查看替代库: 入门 yarn add @react-native-...
3. **定位用户**:使用`GeolocationApi`来获取设备的位置信息。这通常需要用户的同意,因为涉及位置权限。一旦得到许可,API会返回包含经度和纬度的`LatLng`对象。 4. **搜索附近地点**:有了用户的位置信息后,...
差距 Google API检查器。... GeolocationAPI RouteToTraveledAPI SpeedLimitRoadsAPI PlaceDetailsAPI NearbySearchPlacesAPI TextSearchPlacesAPI PlacesPhotoAPI PlayableLocationsAPI FCMAPI