在AngularJS中如何使用谷歌地图把当前位置显示出来


Posted in Javascript onJanuary 25, 2016

--在html5中,为我们提供了navigator.geolocation.getCurrentPosition(f1, f2)函数,f1是定位成功调用的函数,f2是定位失败调用的函数,而且会把当前的地理位置信息作为实参传递给f1和f2函数。f1函数调用谷歌地图的API即可。

如何展示呢?

--需要一个提示信息和展示地图的一个区域。

页面上,大致是这样:

<map-geo-location height="400" width="600"></map-geo-location>
<script src="angular.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script src=="mapGeoLocation.js"></script>

Directive部分如下:

(function(){
var mapGeoLocation = ['$window', function($window){
var template = '<p><span id="status">正在查找地址...</span></p>' + '<br /><div id="map"></div>',
mapContainer = null,
status = null;
function link(scope, elem, attrs){
//以Angular的方式获取Angular元素
status = angular.element(document.getElementById('status'));
mapContainer = angular.element(document.getElementById('map'));
mapContainer.attr('style', 'height:' + scope.height + 'px;width:' + scope.width + 'px');
$window.navigator.geolocation.getCurrentPosition(mapLocation, geoError);
}
//定位成功时调用
function mapLocation(pos){
status.html('found your location! Longitude: ' + pos.coords.longitude + ' Latitude: ' + pos.coords.latitude);
var latlng = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
var optons = {
zoom:15,
center: latlng,
myTypeCOntrol: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(mapContainer[0], options);
var marker = new google.maps.Markser({
position: latlng,
map: map, 
title: "Your location"
});
}
//定位失败时调用
function geoError(error){
status.html('failed lookup ' + error.message);
}
return {
restrict: 'EA', //默认
scope:{
height: '@',
width:'@'
},
link: link,
template: template
}
}];
angular.module('direcitveModule',[])
.direcitve('mapGeoLocation', mapGeoLocation);
}());

以上所述是小编给大家介绍的在AngularJS中如何使用谷歌地图把当前位置显示出来的相关知识,希望对大家有所帮助。

Javascript 相关文章推荐
JS获取父节点方法
Aug 20 Javascript
将jQuery应用于login页面的问题及解决
Oct 17 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
Nov 16 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
Jan 13 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
Sep 01 Javascript
React Native时间转换格式工具类分享
Oct 24 Javascript
React通过父组件传递类名给子组件的实现方法
Nov 13 Javascript
JavaScript基础之静态方法和实例方法分析
Dec 26 Javascript
JavaScript修改注册表实例代码
Jan 05 Javascript
JavaScript this使用方法图解
Feb 04 Javascript
理解JavaScript表单的基础知识
Jan 25 #Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 #Javascript
JavaScript数组的一些奇葩行为
Jan 25 #Javascript
JavaScript文本框脚本编写的注意事项
Jan 25 #Javascript
详解js私有作用域中创建特权方法
Jan 25 #Javascript
超赞的jQuery图片滑块动画特效代码汇总
Jan 25 #Javascript
理解js对象继承的N种模式
Jan 25 #Javascript
You might like
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
Angular实现响应式表单
2017/08/04 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python实现字符串逆序输出功能示例
2017/06/24 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
python实现SOM算法
2018/02/23 Python
用Python实现数据的透视表的方法
2018/11/16 Python
Django中多种重定向方法使用详解
2019/07/17 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
Python restful框架接口开发实现
2020/04/13 Python
Python中的__init__作用是什么
2020/06/09 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
Python的两道面试题
2013/06/29 面试题
电工技术比武方案
2014/05/11 职场文书
党员自我评价范文2015
2015/03/03 职场文书
党纪处分决定书
2015/06/24 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书