在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 相关文章推荐
extjs 学习笔记 四 带分页的grid
Oct 20 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
Jul 17 Javascript
JavaScript为对象原型prototype添加属性的两种方式
Aug 01 Javascript
一个简单的js树形菜单
Dec 09 Javascript
关于JavaScript中string 的replace
Apr 12 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
Aug 26 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
Dec 17 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
Jul 20 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中extract()函数的定义和用法
2012/08/17 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python读取网页内容的方法
2015/07/30 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python3实现飞机大战
2020/11/29 Python
经典c++面试题五
2014/12/17 面试题
初中化学教学反思
2014/01/23 职场文书
高中体育教学反思
2014/01/24 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
mysq启动失败问题及场景分析
2021/07/15 MySQL
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers
Vue router配置与使用分析讲解
2022/12/24 Vue.js