在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 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
JavaScript中的History历史对象
Jan 16 Javascript
Javascript 继承实现例子
Aug 12 Javascript
有关js的变量作用域和this指针的讨论
Dec 16 Javascript
轻松实现JavaScript图片切换
Jan 12 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
Angular 2使用路由自定义弹出组件toast操作示例
May 10 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
vue框架制作购物车小球动画效果实例代码
Sep 26 Javascript
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 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学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php分页代码学习示例分享
2014/02/20 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
一些不错的js函数ajax
2008/08/20 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
vue实现微信分享功能
2018/11/28 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
Python import自定义模块方法
2015/02/12 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
用Python设计一个经典小游戏
2017/05/15 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
python贪吃蛇游戏代码
2020/04/18 Python
python三方库之requests的快速上手
2019/03/04 Python
django有哪些好处和优点
2020/09/01 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
追悼会上的答谢词
2014/01/10 职场文书
大学生求职自我评价
2014/01/16 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
边城读书笔记
2015/06/29 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
婚宴父母致辞
2015/07/27 职场文书
推广普通话主题班会
2015/08/17 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
z-index不起作用
2021/03/31 HTML / CSS
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL