在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 相关文章推荐
禁止JQuery中的load方法装载IE缓存中文件的方法
Sep 11 Javascript
显示js对象所有属性和方法的函数
Oct 16 Javascript
理解Javascript_11_constructor实现原理
Oct 18 Javascript
Javascript之this关键字深入解析
Nov 12 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
超全面的javascript中变量命名规则
Feb 09 Javascript
jquery实现数字输入框
Feb 22 Javascript
详解Vue 动态添加模板的几种方法
Apr 25 Javascript
React通过父组件传递类名给子组件的实现方法
Nov 13 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
vue嵌套路由与404重定向实现方法分析
May 04 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 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新手上路(三)
2006/10/09 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
2016/12/08 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
Python中扩展包的安装方法详解
2017/06/14 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
python实现点对点聊天程序
2018/07/28 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
总经理助理岗位职责
2013/11/08 职场文书
小学生新年寄语
2014/04/03 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
2014年班主任工作总结
2014/11/08 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Java实现注册登录跳转
2022/06/16 Java/Android