在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 相关文章推荐
flexigrid 类似ext grid的JS表格代码
Jul 17 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
Aug 06 Javascript
悬浮数字的实现案例
Feb 19 Javascript
BootStrap glyphicons 字体图标实现方法
May 01 Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 Javascript
jQuery实现用户输入自动完成功能
Feb 13 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
vue实现PC端录音功能的实例代码
Jun 05 Javascript
浅谈ECMAScript 中的Array类型
Jun 10 Javascript
原生js实现商品筛选功能
Oct 28 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
php curl 获取https请求的2种方法
2015/04/27 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
在Django中创建第一个静态视图
2015/07/15 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
Python实现图片识别加翻译功能
2019/12/26 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Python logging模块handlers用法详解
2020/08/14 Python
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
Joie官方网上商店:购买服装和女装配饰
2018/06/05 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
大一期末自我鉴定
2013/12/13 职场文书
超市5.1促销活动
2014/01/15 职场文书
九年级物理教学反思
2014/01/29 职场文书
物流业务员岗位职责
2014/02/08 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
停车位租赁协议书
2014/09/24 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
市场督导岗位职责
2015/04/10 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
十二生肖观后感
2015/06/12 职场文书
68句权威创业名言
2019/08/26 职场文书
mysql脏页是什么
2021/07/26 MySQL
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏