前言:这个真的很想吐槽,有人找到我说签到功能点进去页面是空白的,我真的是一脸懵逼,弄了好几天,一开始以为是我们项目里的ip不对,因为有个连接异常,最后发现这个异常对项目没有影响,然后又找,关键是日志信息上根本没有报错,弄的人是一头雾水,还好项目里还有一个定位功能,对比发现少了一行代码(真的是心里骂了无数次上个改代码的人,虽然嘴里也骂了);虽然进去了,但是没有显示当前的位置,如下是解决办法
关于这个导入的js,我从网上也找过教程,把他的导进来发现根本不执行“geoc.getLocation(point, function(rs)” 我索性把项目里另外一个html里的所有相关的js全部复制过来,就正常了。
<script type="text/javascript" charset="utf-8" src="plugins/gov.app.plugin/www/SharedPreference.js"></script> <script type="text/javascript" charset="utf-8" src="plugins/gov.app.plugin/www/TestCallActivity.js"></script> <script type="text/javascript" charset="utf-8" src="plugins/gov.app.plugin/www/Notification.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=BIwoh4aHIuBQMOOt9hhhmNvp"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script> <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" /> <!--加载检索信息窗口--> <script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.4/src/SearchInfoWindow_min.js"></script> <link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.4/src/SearchInfoWindow_min.css" /> <script type="text/javascript" src="GeoUtils.js"></script>在需要的地方,调用“getLocationMessage”即可。 其实这里有个goback()方法,是之前的人写的,但是他那个方法根本没有被调用,我走投无路之际,看到有个相似的功能能获取经纬度,我就想用js是不是可以通过这个获取实际的地址。
// 单次位置请求执行的函数 function getLocationMessage() { geolocation.getCurrentPosition(mapIt, locationError); } //定位成功时,执行的函数 function mapIt(position) { var lon = position.point.lng; var lat = position.point.lat; //存入point point = new BMap.Point(lon, lat); geoc.getLocation(point, function(rs){ var addComp = rs.addressComponents; //这里的addComp就是一个地址对象,如果要接收,可以这样 //var local = addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber; <!-- alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);--> }); <!-- alert("您位置的经度是:" + lon + " 纬度是:" + lat);--> //showmap(lon, lat); } // 定位失败时,执行的函数 function locationError(error) { switch(error.code) { case error.PERMISSION_DENIED: alert("User denied the request for Geolocation."); break; case error.POSITION_UNAVAILABLE: alert("Location information is unavailable."); break; case error.TIMEOUT: alert("The request to get user location timed out."); break; case error.UNKNOWN_ERROR: alert("An unknown error occurred."); break; } }