<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>地理定位 on Last Stand</title><link>https://amatsuzero.github.io/LastStand/tags/%E5%9C%B0%E7%90%86%E5%AE%9A%E4%BD%8D/</link><description>Recent content in 地理定位 on Last Stand</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 06 Nov 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://amatsuzero.github.io/LastStand/tags/%E5%9C%B0%E7%90%86%E5%AE%9A%E4%BD%8D/index.xml" rel="self" type="application/rss+xml"/><item><title>地理定位</title><link>https://amatsuzero.github.io/LastStand/posts/frontend/html/html-017/</link><pubDate>Wed, 16 Oct 2024 00:00:00 +0800</pubDate><guid>https://amatsuzero.github.io/LastStand/posts/frontend/html/html-017/</guid><description>&lt;p&gt;HTML5 提供了地理定位（Geolocation）API，用于获取用户的当前位置。通过这一功能，网页可以访问用户的地理位置信息，进而实现如地图服务、定位推荐、基于位置的广告等功能。该 API 主要依赖设备的 GPS、Wi-Fi、IP 地址、蓝牙等信息来确定位置。&lt;/p&gt;
&lt;h3 id="geolocation-api-的基本用法"&gt;&lt;strong&gt;Geolocation API 的基本用法&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;主要通过 &lt;code&gt;navigator.geolocation&lt;/code&gt; 对象来访问地理位置信息，提供了以下三个方法：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;getCurrentPosition(success, error, options)&lt;/code&gt;&lt;/strong&gt; 获取用户的当前位置，一次性返回位置信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;watchPosition(success, error, options)&lt;/code&gt;&lt;/strong&gt; 持续监听用户的位置变化，并且实时返回新的位置信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;clearWatch(id)&lt;/code&gt;&lt;/strong&gt; 取消 &lt;code&gt;watchPosition&lt;/code&gt; 监听的位置变化。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="方法的参数说明"&gt;&lt;strong&gt;方法的参数说明&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;success(position)&lt;/code&gt;：成功获取位置时的回调函数。&lt;code&gt;position&lt;/code&gt; 对象包含位置信息，如经度、纬度、速度等。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;error(error)&lt;/code&gt;：可选参数，获取位置失败时的回调函数。&lt;code&gt;error&lt;/code&gt; 对象包含错误信息，如用户拒绝提供位置或获取超时等。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;options&lt;/code&gt;：可选参数，包含配置选项，影响获取位置的精度、超时时间等。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="使用示例"&gt;&lt;strong&gt;使用示例&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (&lt;span style="color:#a6e22e"&gt;navigator&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;geolocation&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;navigator&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;geolocation&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;getCurrentPosition&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (&lt;span style="color:#a6e22e"&gt;position&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;latitude&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;position&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;coords&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;latitude&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;longitude&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;position&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;coords&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;longitude&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;console&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;log&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;`Latitude: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;latitude&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;, Longitude: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;longitude&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (&lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;console&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;`Error Code = &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;code&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;message&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; { &lt;span style="color:#a6e22e"&gt;enableHighAccuracy&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;timeout&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5000&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;maximumAge&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;console&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;log&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Geolocation is not supported by this browser.&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="获取到的"&gt;&lt;strong&gt;获取到的 &lt;code&gt;position&lt;/code&gt; 对象&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;position&lt;/code&gt; 对象包含用户的位置信息，主要属性包括：&lt;/p&gt;</description></item></channel></rss>