Geolocation——地理位置

2024-01-12 18:48
文章标签 地理位置 geolocation

本文主要是介绍Geolocation——地理位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


This example uses the Geolocation API to control the view.
这个例子使用Geolocation的API来控制视图。

代码:
<!DOCTYPE html>
<html><head><title>Geolocation</title><link rel="stylesheet" href="https://openlayers.org/en/v4.2.0/css/ol.css" type="text/css"><!-- The line below is only needed for old environments like Internet Explorer and Android 4.x --><script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script><script src="https://openlayers.org/en/v4.2.0/build/ol.js"></script></head><body><div id="map" class="map"></div><div id="info" style="display: none;"></div><label for="track">track position<input id="track" type="checkbox"/></label><p>position accuracy : <code id="accuracy"></code>  altitude : <code id="altitude"></code>  altitude accuracy : <code id="altitudeAccuracy"></code>  heading : <code id="heading"></code>  speed : <code id="speed"></code></p><script>var view = new ol.View({center: [0, 0],zoom: 2});var map = new ol.Map({layers: [new ol.layer.Tile({source: new ol.source.OSM()})],target: 'map',controls: ol.control.defaults({attributionOptions: /** @type {olx.control.AttributionOptions} */ ({collapsible: false})}),view: view});// 创建Geolocation对象var geolocation = new ol.Geolocation({projection: view.getProjection()});// 根据id获取元素function el(id) {return document.getElementById(id);}// 根据追踪的复选框来决定是否开启追踪el('track').addEventListener('change', function() {geolocation.setTracking(this.checked);});// update the HTML page when the position changes.// 当位置改变时更新HTML标签内容
geolocation.on('change', function() {el('accuracy').innerText = geolocation.getAccuracy() + ' [m]';el('altitude').innerText = geolocation.getAltitude() + ' [m]';el('altitudeAccuracy').innerText = geolocation.getAltitudeAccuracy() + ' [m]';el('heading').innerText = geolocation.getHeading() + ' [rad]';el('speed').innerText = geolocation.getSpeed() + ' [m/s]';});// handle geolocation error.// 处理位置错误
geolocation.on('error', function(error) {var info = document.getElementById('info');info.innerHTML = error.message;info.style.display = '';});// 创建精确位置要素var accuracyFeature = new ol.Feature();// 当精确位置改变时设置精确位置的几何要素为地理位置的精确位置
geolocation.on('change:accuracyGeometry', function() {accuracyFeature.setGeometry(geolocation.getAccuracyGeometry());});// 位置要素var positionFeature = new ol.Feature();// 位置要素的样式
positionFeature.setStyle(new ol.style.Style({image: new ol.style.Circle({radius: 6,fill: new ol.style.Fill({color: '#3399CC'}),stroke: new ol.style.Stroke({color: '#fff',width: 2})})}));// 当地理位置改变时根据地理位置的坐标设置位置要素的几何对象geolocation.on('change:position', function() {var coordinates = geolocation.getPosition();positionFeature.setGeometry(coordinates ?new ol.geom.Point(coordinates) : null);});// 创建矢量图层new ol.layer.Vector({map: map,source: new ol.source.Vector({features: [accuracyFeature, positionFeature]})});</script></body>
</html>



这篇关于Geolocation——地理位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/598831

相关文章

js定位navigator.geolocation

一、简介   html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置。   window.navigator.geolocation提供了3个方法分别是: void getCurrentPosition(onSuccess,onError,options);//获取用户当前位置int watchCurrentPosition(

地理位置编码GeoHash编码 介绍

GeoHash 是一种用于地理位置编码的字符串表示方法,将地理坐标(经度和纬度)编码为一个短的字符串。它的主要特点是能够将地理位置表示为一个连续的字符串,方便进行快速的地理位置比较、索引和存储。GeoHash 编码的原理基于二进制表示,通过对经纬度进行逐步二分,不断缩小范围来精确表示位置。  GeoHash 编码的原理 1. 二分法划分区域:将地球的经度范围(-180°到180°)和纬度范围(

地理位置API(Geolocation API)

地理位置API(Geolocation API)是一种Web API,允许网站和应用程序通过用户的设备获取其地理位置信息。这个API为开发者提供了一种方式,可以根据用户的地理位置提供个性化的内容或服务,比如显示附近的餐馆、天气信息、本地新闻或者提供导航指引等。 工作原理 用户同意:首先,网站或应用会请求用户的许可,以获取其地理位置信息。出于隐私考虑,未经用户明确同意,不会获取位置信息。 获

cordova 5.1.1- geolocation使用问题

使用的魅族mx4手机,android4.4.2版本,调用cordova5.1.1版本geolocation插件的时候一直没有反应,成功/失败回调都没有进入。 代码如下: $scope.getGeolocation = function() {function onSuccess(position) {alert('Latitude: ' + position.coords.latit

HTML5培训第15节课堂笔记(HTML5+maps,geolocation)

HTML5培训第15节课堂笔记 1.地理信息定位: window.οnlοad=function(){         mui.plusReady(function(){            plus.geolocation.getCurrentPosition(function(p){                latitude=p.coords.latitude;

ApiClound 百度地图解析地址geolocation 定位不够精确 的问题:

百度地图 API定位: <script type="text/javascript">// 百度地图API功能var map = new BMap.Map("allmap");var point = new BMap.Point(116.331398,39.897445);map.centerAndZoom(point,12);var geolocation = new BMap.Geoloca

ES配合高德地图JS-API实现地理位置查询

目录  实现功能点 技术选型 具体实现 Vue3整合高德地图JS API-2.0  添加商户:前端 添加商户:后端/ES  查询用户当前地理坐标  获取附近(指定距离)的商户 总结/测试Demo代码地址 测试概述:用户使用高德地图组件获取商户详细地址和地理坐标(经纬度)存入ES中,然后获取当前用户的地理坐标位置,用户可定义查询半径,用来搜索以用户位置为中心点,指定

java程序根据ip地址获取地理位置

前几天想给网站后台加个解析ip所在地理位置的功能,在网上看了一些博客,找了几段程序,但总觉得写的不够简洁,感觉很啰嗦。下面这个程序,感觉还算简洁,于是整理调试了一下,可以用,程序调用了“腾讯ip分享计划”提供的接口,当然也可以改成ip138.com提供的接口,不过这两个网站返回的字符串格式有些不同,要分别做解析。 public String getAddressByIP(){

mongodb 地理位置搜寻

LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率。 MongoDB地理位置索引,2d和2dsphere,对应平面和球面。 1.创建lbs集合存放地点坐标 [plain]  view plain copy use lbs;      db.lbs.insert(       {           loc:{

IOS 百度地图定位,显示地理位置

最近公司要做一个类似与美团的东西,让我用百度地图来进行定位,并显示地理信息. 预览图 那么我们要如何做呢,直接上代码 先看看包结构,要把需要用到的库都要引入进来. 包结构 注意:appdelegate.mm 后缀一定要加个m 不然的话编译会不通过,好像是因为它的编译原理是c++还是怎样,要详细了解的可以百度.那么来看控制器代码 _locService = [[