在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 相关文章推荐
如何简单地用YUI做JavaScript动画
Mar 10 Javascript
JavaScript与DOM组合动态创建表格实例
Dec 23 Javascript
IE6 hack for js 集锦
Sep 23 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
Dec 05 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
js时间控件只显示年月
Jan 08 Javascript
JavaScript文件的同步和异步加载的实现代码
Aug 19 Javascript
Vue 中使用 CSS Modules优雅方法
Apr 09 Javascript
微信小程序实现选项卡效果
Nov 06 Javascript
简谈创建React Component的几种方式
Jun 15 Javascript
json 带斜杠时如何解析的实现
Aug 12 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
完美的php分页类
2017/10/24 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
20招让你的Python飞起来!
2016/09/27 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
基于python历史天气采集的分析
2019/02/14 Python
python读取并写入mat文件的方法
2019/07/12 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
董事长助理岗位职责
2014/02/18 职场文书
趣味运动会策划方案
2014/06/02 职场文书
中秋晚会策划方案
2014/06/12 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
2014年终工作总结范本
2014/12/15 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python
python数字图像处理:图像简单滤波
2022/06/28 Python