在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入门—访问DOM对象方法
Jan 07 Javascript
jquery统计输入文字的个数并对其进行判断
Jan 07 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
Sep 01 Javascript
理解javascript回调函数
Dec 28 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
Jul 28 Javascript
jquery实现的伪分页效果代码
Oct 29 Javascript
jquery转盘抽奖功能实现
Nov 13 Javascript
jquery弹出遮掩层效果【附实例代码】
Apr 28 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
Oct 25 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 Javascript
Ant-design-vue Table组件customRow属性的使用说明
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
PHP4实际应用经验篇(9)
2006/10/09 PHP
ADODB的数据库封包程序库
2006/12/31 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python实现单词拼写检查
2015/04/25 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
python清空命令行方式
2020/01/13 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
Opencv求取连通区域重心实例
2020/06/04 Python
python中setuptools的作用是什么
2020/06/19 Python
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
标记环介质访问控制协议
2016/03/27 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
骨干教师考核方案
2014/05/09 职场文书
2014年班主任工作总结
2014/11/08 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
SpringBoot快速入门详解
2021/07/21 Java/Android
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL