使用html5 地理位置技术 和 百度地图api查询当前位置
使用了 zepto 和 requirejs
define(['zepto'],function($){ var geolocation = { init:function(config,onSuccess,onError){ if(typeof(config)=='function'){ onError = onSuccess; onSuccess = config; config = undefined; } if(Object(config)===config){ for(var k in this.option){ this.option[k] = config[k]; } } if(typeof(onSuccess)=='function'){ this.onSuccess = onSuccess; } if(typeof(onError)=='function'){ this.onError = onError; } return this; }, getPosition:function(returnType){//returnType==cityName,返回城市名称 var host = this; navigator.geolocation.getCurrentPosition(function ( position){ console.log('getCurrentPosition success ',position); if(!returnType){ host.onSuccess.call(null,position); }else{ var lat = position.coords.latitude; var lng = position.coords.longitude; var urls="http://api.map.baidu.com/geocoder/v2/?ak=0QoBGmQ4i5N0FycRCQMukgqd&callback=renderReverse&location="+lat+","+lng+"8&output=json&pois=0"; $.ajax({ type: "POST", url: urls, dataType : "jsonp", success: function(data){ //alert(JSON.stringify(data)); //alert(host.onSuccess) console.log('get city name>>>',data); host.onSuccess.call(null,data); }, error:function(error){ host.onError.call(null,error); } }); } }, function(error){ host.onError.call(null,error); }, this.option); return this; }, option:{ enableHighAccuracy: true, maximumAge: 30000, timeout: 20000 }, onSuccess: function(data){ console.log('geolocation.getCurrentPosition success:',data); }, onError:function(error){ console.log('geolocation.getCurrentPosition error:',error); } }; return geolocation; });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述