解析:
首先通过w3c Geolocation 标准得到位置信息,此标准是html5的一部分。如果浏览器不支持w3c Geolocation标准,再通过google gears软件得到位置信息,gears是一款支持离线工作的软件。
Google Gears有几个主要的API组件:
一个本地服务器,用来存储和读取离线程序资源(包括HTML, JavaScript, images等)。
一个小型数据库(以SQLite构建),用来储存本地数据。
一个工作池,用来让开发者将本地数据与服务器端后台同步。
一个桌面模型可使网络程序的操作贴近桌面程序。
一个地理定位模型,能够让网络程序侦测到目前用户的地理位置。
源码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="http://code.google.com/apis/gears/gears_init.js"></script>
<script type="text/javascript">
var initialLocation;
var siberia = new google.maps.LatLng(60, 105);
var newyork = new google.maps.LatLng(40.69847032728747, -73.9514422416687);
var browserSupportFlag = new Boolean();
var map;
var infowindow = new google.maps.InfoWindow();
function initialize() {
var myOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
// Try W3C Geolocation method (Preferred)
if(navigator.geolocation) {
browserSupportFlag = true;
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
contentString = "Location found using W3C standard";
map.setCenter(initialLocation);
infowindow.setContent(contentString);
infowindow.setPosition(initialLocation);
infowindow.open(map);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
} else if (google.gears) {
// Try Google Gears Geolocation
browserSupportFlag = true;
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.latitude,position.longitude);
contentString = "Location found using Google Gears";
map.setCenter(initialLocation);
infowindow.setContent(contentString);
infowindow.setPosition(initialLocation);
infowindow.open(map);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
} else {
// Browser doesn't support Geolocation
browserSupportFlag = false;
handleNoGeolocation(browserSupportFlag);
}
}
function handleNoGeolocation(errorFlag) {
if (errorFlag == true) {
initialLocation = newyork;
contentString = "Error: The Geolocation service failed.";
} else {
initialLocation = siberia;
contentString = "Error: Your browser doesn't support geolocation. Are you in Siberia?";
}
map.setCenter(initialLocation);
infowindow.setContent(contentString);
infowindow.setPosition(initialLocation);
infowindow.open(map);
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
</html>
分享到:
相关推荐
首先,`googleMap根据经纬度获取地理位置`这个标题涉及到的核心技术是Google Maps Geocoding服务。Geocoding是将地址或坐标(经纬度)转换为地理坐标的过程,反之亦然。在Google Maps API中,我们可以使用Geocoding ...
在IT领域,Google Map API是开发人员常用的工具之一,它允许我们通过JavaScript编程语言与Google Maps服务进行交互,获取和处理地理位置信息。本篇文章将详细探讨如何利用Google Map API来获取地点的经纬度坐标以及...
一个google map小应用 应用google map api可以获得点的经纬度并且可以根据地理位置名称定位。
1. **权限问题**:在获取用户地理位置前,必须确保用户已经授予了访问位置信息的权限。在现代浏览器中,通常会弹出提示让用户选择是否允许。 2. **性能考虑**:频繁地调用`getCurrentPosition()`可能会导致性能问题...
GoogleMap API提供了一系列接口,如地图视图、标记(Markers)、信息窗口(InfoWindows)、折线(Polylines)和多边形(Polygons)等,用于显示地理位置、添加标注、绘制路径等。此外,API还支持地理编码(Geocoding...
总的来说,Google Map API为开发者提供了一个强大且灵活的平台,可以轻松地将地图功能整合到各种应用中,无论是简单的地理位置展示,还是复杂的导航和分析应用,都能通过API实现。然而,需要注意的是,使用API时要...
Marker 是谷歌地图 Google Map API V3 中的一个重要组件,用于在地图上标记一个特定的位置。开发者可以使用 Marker 对象来创建一个新的标记,该对象提供了多种方法和属性,以便开发者可以自定义标记的样式和行为。 ...
Ext Google Map简易开发框架是一种将流行的JavaScript库ExtJs与Google Maps API相结合的开发方式,用于构建功能丰富的地理信息系统。这个框架允许开发者轻松地在网页上展示地图,管理地图图层,控制图层的可见性,...
总的来说,Google Map的离线应用实例是一个综合性的开发项目,涵盖了地图数据处理、前端开发、用户交互等多个方面,对于提升开发者在GIS领域的技能非常有帮助。通过学习和实践,我们可以打造出功能强大的离线地图...
Google Map作为全球领先的在线地图服务,以其丰富的功能和强大的API(应用程序接口)支持,为开发者提供了构建地理位置应用的强大工具。本文将深入探讨基于Android平台,利用Google Map API开发地理信息服务的相关...
在本项目中,我们关注的是如何利用Google Map API来解析并获取中国大陆4095个省市县的默认地理位置坐标。这是一项涉及网络编程、JavaScript以及GIS技术的任务。 首先,Google Map API是Google提供的一种服务,允许...
标题中的“Google Map Server”指的是谷歌地图服务器,这是一个由谷歌提供的服务,允许用户访问和操作大量的地理信息数据。这个服务不仅提供了在线的地图浏览功能,还包括卫星图像、地形图以及街景视图等丰富的地理...
1. **实时定位**:Google Maps API支持获取用户当前的地理位置信息,通过GPS、Wi-Fi、移动网络等多种方式实现。用户可以在地图上看到一个标记代表其当前位置。 2. **地图显示**:开发者可以自定义地图的样式、缩放...
为了显示用户所在地区,API提供了获取用户地理位置的能力。这通常依赖于浏览器的Geolocation API,它能够根据用户的IP地址或GPS信息确定位置。在用户同意分享位置信息后,我们可以通过以下代码获取用户坐标: ```...
谷歌地图API(Google Maps API)是谷歌提供的一套强大的开发工具,允许开发者在自己的网站或应用中嵌入交互式地图,实现地理位置相关的功能。通过学习谷歌地图API,你可以创建定制的地图,添加标记、路径、信息窗口...
总的来说,Google Map API 和 ASP.NET(C#)的结合为Web开发者提供了一个强大且灵活的工具,可以创建出各种各样的地理位置应用,如导航系统、房地产搜索、交通信息展示等。通过深入研究和实践,开发者可以掌握这些技术...
Google Map API 是一款强大的工具,它允许开发者在自己的网站或应用程序中嵌入地图功能,提供定位、导航、地理编码、路线规划等多种服务。本示例将深入探讨如何使用 Google Map API,帮助你理解和掌握其核心概念及...
谷歌地图应用GoogleMap是一款基于Google提供的地图服务开发的应用程序,它允许用户进行一系列与地理位置相关的操作,如搜索城市、选择定位、切换浏览模式等。在移动设备上,这样的应用为用户提供了一个直观且实用的...
**GoogleMap控件详解** GoogleMap控件是一个用于集成谷歌地图功能到应用程序中的开源组件,尤其在Web开发中被广泛使用。它允许开发者在自己的应用界面中嵌入实时、交互式的地图服务,提供定位、导航、地理编码、...
谷歌地图Joomla!插件是一种将Google Maps集成到Joomla!...平台带来了强大的地图功能,让网站在提供地理位置信息方面更加灵活和直观。然而,由于其对特定Joomla!版本的支持,用户需注意系统升级时的兼容性问题。