题目有点标题党,呵呵,别介意。
参考了Google,baidu还有街旁的GeoLocation代码
<!doctype html>
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
<title>test</title>
<style>
</style>
<script>
////大部分浏览器位置服务调用的Google的一个服务,这个服务不仅可以IP定位,还有很多的其他定位方式,总之很强大
function initLocation() {
// We are already defined. Hooray!
if (window.google && google.gears) {
return;
}
var factory = null;
// Firefox
if (typeof GearsFactory != 'undefined') {
factory = new GearsFactory();
} else {
// IE
try {
factory = new ActiveXObject('Gears.Factory');
// privateSetGlobalObject is only required and supported on IE Mobile on
// WinCE.
if (factory.getBuildInfo().indexOf('ie_mobile') != -1) {
factory.privateSetGlobalObject(this);
}
} catch (e) {
// Safari
if ((typeof navigator.mimeTypes != 'undefined') && navigator.mimeTypes["application/x-googlegears"]) {
factory = document.createElement("object");
factory.style.display = "none";
factory.width = 0;
factory.height = 0;
factory.type = "application/x-googlegears";
document.documentElement.appendChild(factory);
if(factory && (typeof factory.create == 'undefined')) {
// If NP_Initialize() returns an error, factory will still be created.
// We need to make sure this case doesn't cause Gears to appear to
// have been initialized.
factory = null;
}
}
}
}
// *Do not* define any objects if Gears is not installed. This mimics the
// behavior of Gears defining the objects in the future.
if (!factory) {
return;
}
// Now set up the objects, being careful not to overwrite anything.
//
// Note: In Internet Explorer for Windows Mobile, you can't add properties to
// the window object. However, global objects are automatically added as
// properties of the window object in all browsers.
if (!window.google) {
google = {};
}
if (!google.gears) {
google.gears = {factory: factory};
}
};
function getGeoLocation(okCallback,errorCallback){
initLocation();
try {
if(navigator.geolocation) {
geo = navigator.geolocation;
} else {
geo = google.gears.factory.create('beta.geolocation');
}
}catch(e){}
if (geo) {
//watch会触发多次,以便随时监控ip改变,iphone在开始会调用两次,屏幕旋转和解锁也会调用,汗。。。
//navigator.geolocation.watchPosition(successCallback, errorCallback, options);
geo.getCurrentPosition(okCallback , errorCallback);
} else {
alert("不好意思,你不让我定位!");
}
}
function okCallback(d){
alert('当前位置(纬度,经度): ' + d.latitude + ',' + d.longitude);
//iphone
if(d.coords)
alert('当前位置(纬度,经度): ' + d.coords.latitude + ',' + d.coords.longitude);
if(d.gearsAddress)
alert(d.gearsAddress.city);
};
function errorCallback(err){
alert(err.message);
};
</script>
</head>
<body>
咔咔咔咔咔
<input onclick="getGeoLocation(okCallback,errorCallback)" type="button" value="errr">
</body>
</html>
分享到:
相关推荐
下面将详细阐述`geolocation` API的工作原理、使用方法以及相关应用。 `geolocation` API 的核心在于获取用户的位置信息,这通常包括经度、纬度和海拔高度。这些数据可以通过多种方式获取,如GPS、Wi-Fi信号强度、...
本书详细讲解了如何利用MATLAB来分析和模拟电磁环境,进而实现对电磁信号源的精确地理定位。 首先,书中涵盖了电磁场的基础理论,包括电磁波的传播、散射和反射等基本概念。这些理论知识为后续的计算和应用提供了...
本文将详细介绍如何在JavaScript中使用Geolocation API,包括其基本概念、实现步骤、代码示例以及实际应用场景。 Geolocation API为Web开发者提供了一个强大的工具,可以轻松实现基于位置的功能。无论是显示地图、...
在设计部分,本文详细介绍了基于HTML5 Geolocation API的考勤管理系统软件的设计,包括系统架构设计、数据库设计、界面设计等。 知识点7: 考勤管理系统的实现 在实现部分,本文介绍了基于HTML5 Geolocation API的...
**详细知识点:** 1. **PHP基础**:理解 PHP 的基本语法,包括变量声明、数据类型、条件语句、循环、函数以及错误处理等。 2. **HTTP请求**:了解如何使用 PHP 发起HTTP请求,例如使用 `file_get_contents`、cURL...
"HTML5Geolocation-英文原版.zip"包含的资源很可能是关于HTML5 Geolocation API的详细指南或教程。 HTML5 Geolocation API的运作方式是通过与设备的GPS、Wi-Fi信号、IP地址等硬件和网络数据交互,来推算用户所在的...
这通常涉及到与第三方服务提供商如 MaxMind、IP2Location 或 GeoIP 数据库的交互,这些服务能够提供关于 IP 地址的详细信息,包括国家、地区、城市、邮政编码、经纬度等。 在 Laravel 中实现这个功能,你需要安装...
通常情况下,"log.txt" 文件可能是记录了数据处理过程或下载、转换时的详细日志,这对于理解和验证数据的来源、处理步骤以及可能出现的问题至关重要。"map" 文件名可能是地图数据的简写,它可能是一个包含 OSM 数据...
**Elasticsearch Geolocation 功能详解** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,以其强大的数据分析...记得查看博客文章以获取详细的步骤指南和代码解释,这将帮助你快速上手并深入了解这一强大的工具。
以下是启用GeoLocation的详细步骤: 1. 首先,按下键盘上的`Win+X`组合键,这将弹出一个快捷菜单。这个快捷菜单包含了很多系统管理选项,可以替代传统的“开始”菜单。 2. 在快捷菜单中,选择“控制面板”。控制...
本文将详细探讨标题为"百度定位获取坐标三种方案"的三种主要方法,适用于标签为"js"的场景。 **方案一:浏览器Geolocation API** 首先,我们可以通过浏览器内置的Geolocation API来获取用户的位置信息。这个API...
【详细知识点】 1. HTML5 Geolocation API:允许网页应用获取用户的经度和纬度,基于用户的位置信息提供服务。API包括`navigator.geolocation`对象,其中`getCurrentPosition()`和`watchPosition()`方法用于获取和...
1. getCurrentPosition方法:这是Geolocation API中最基本的方法,用于获取用户位置。它接受三个参数:成功回调函数、失败回调函数和可选配置项。 2. 成功回调函数:当成功获取用户位置后,会调用此回调函数,回调...
地理定位应用这是一个简单的 GeoLocation 应用程序,可以检索用户的位置并提供有关它的详细信息。 还可以搜索显示在地图上的网站的物理位置。 在搜索网站的位置后,用户可以将其位置与网站的位置进行比较。 每当用户...
根据所提供的文件信息,我们可以提取以下知识点,并围绕“地理定位技术”(geolocation technique)主题进行详细阐述: 1. 地理定位技术概述 地理定位技术(geolocation technique)涉及利用无线网络或其他技术来...
根据提供的文件信息,本书《Emitter Detection and Geolocation for Electronic Warfare》是一本专注于电子战领域中的发射源检测与地理定位的专业书籍。以下将对该书的主要内容进行详细的解析与知识点的提炼。 ### ...
本文将详细介绍如何在Flutter应用中使用flutter-geolocation库以及传单(Flutter Maps)插件来实现这一功能。 首先,我们需要了解flutter-geolocation库。这个库是Flutter专门为获取设备地理位置信息而设计的,它...
但在这个问题中,由于没有具体的"compass-geolocation-main"文件内容,我们无法详细探讨这个库的具体功能和使用方法。 总的来说,"compass-geolocation:https"关注的是在安全的HTTPS环境下,利用JavaScript的...
下面我们将详细讨论如何使用Geolocation API以及如何与Google Maps API结合。 1. 获取当前地理位置 使用Geolocation API获取当前地理位置非常简单,只需要调用`navigator.geolocation.getCurrentPosition()`方法。...
以下将详细介绍这些知识点。 首先,MCC和MNC是全球移动通信系统(GSM)中用于唯一标识运营商和网络的关键参数。MCC由三位数字组成,代表了一个国家或地区的移动通信网络,而MNC则由两位或三位数字构成,用于区分...