`
haitian235
  • 浏览: 62635 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论

google map 得到用户 地理位置信息

 
阅读更多
解析:
首先通过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根据经纬度获取地理位置

    首先,`googleMap根据经纬度获取地理位置`这个标题涉及到的核心技术是Google Maps Geocoding服务。Geocoding是将地址或坐标(经纬度)转换为地理坐标的过程,反之亦然。在Google Maps API中,我们可以使用Geocoding ...

    Google Map API获取地理位置信息

    在IT领域,Google Map API是开发人员常用的工具之一,它允许我们通过JavaScript编程语言与Google Maps服务进行交互,获取和处理地理位置信息。本篇文章将详细探讨如何利用Google Map API来获取地点的经纬度坐标以及...

    googlemap 经纬度 地理位置查询

    一个google map小应用 应用google map api可以获得点的经纬度并且可以根据地理位置名称定位。

    google map 获得我的位置

    1. **权限问题**:在获取用户地理位置前,必须确保用户已经授予了访问位置信息的权限。在现代浏览器中,通常会弹出提示让用户选择是否允许。 2. **性能考虑**:频繁地调用`getCurrentPosition()`可能会导致性能问题...

    GoogleMap谷歌地图demo

    GoogleMap API提供了一系列接口,如地图视图、标记(Markers)、信息窗口(InfoWindows)、折线(Polylines)和多边形(Polygons)等,用于显示地理位置、添加标注、绘制路径等。此外,API还支持地理编码(Geocoding...

    谷歌地图GoogleMap

    总的来说,Google Map API为开发者提供了一个强大且灵活的平台,可以轻松地将地图功能整合到各种应用中,无论是简单的地理位置展示,还是复杂的导航和分析应用,都能通过API实现。然而,需要注意的是,使用API时要...

    谷歌地图Google Map API V3中文开发文档

    Marker 是谷歌地图 Google Map API V3 中的一个重要组件,用于在地图上标记一个特定的位置。开发者可以使用 Marker 对象来创建一个新的标记,该对象提供了多种方法和属性,以便开发者可以自定义标记的样式和行为。 ...

    Ext Google Map 简易开发框架

    Ext Google Map简易开发框架是一种将流行的JavaScript库ExtJs与Google Maps API相结合的开发方式,用于构建功能丰富的地理信息系统。这个框架允许开发者轻松地在网页上展示地图,管理地图图层,控制图层的可见性,...

    google map应用实例

    总的来说,Google Map的离线应用实例是一个综合性的开发项目,涵盖了地图数据处理、前端开发、用户交互等多个方面,对于提升开发者在GIS领域的技能非常有帮助。通过学习和实践,我们可以打造出功能强大的离线地图...

    基于Google+Map的地理信息服务研究.pdf

    Google Map作为全球领先的在线地图服务,以其丰富的功能和强大的API(应用程序接口)支持,为开发者提供了构建地理位置应用的强大工具。本文将深入探讨基于Android平台,利用Google Map API开发地理信息服务的相关...

    利用Google Map解析中国大陆4095个省市县的默认地理位置,获取地理坐标

    在本项目中,我们关注的是如何利用Google Map API来解析并获取中国大陆4095个省市县的默认地理位置坐标。这是一项涉及网络编程、JavaScript以及GIS技术的任务。 首先,Google Map API是Google提供的一种服务,允许...

    google map server

    标题中的“Google Map Server”指的是谷歌地图服务器,这是一个由谷歌提供的服务,允许用户访问和操作大量的地理信息数据。这个服务不仅提供了在线的地图浏览功能,还包括卫星图像、地形图以及街景视图等丰富的地理...

    google MAP定位

    1. **实时定位**:Google Maps API支持获取用户当前的地理位置信息,通过GPS、Wi-Fi、移动网络等多种方式实现。用户可以在地图上看到一个标记代表其当前位置。 2. **地图显示**:开发者可以自定义地图的样式、缩放...

    基于Google Map API的简单地图

    为了显示用户所在地区,API提供了获取用户地理位置的能力。这通常依赖于浏览器的Geolocation API,它能够根据用户的IP地址或GPS信息确定位置。在用户同意分享位置信息后,我们可以通过以下代码获取用户坐标: ```...

    google map api学习

    谷歌地图API(Google Maps API)是谷歌提供的一套强大的开发工具,允许开发者在自己的网站或应用中嵌入交互式地图,实现地理位置相关的功能。通过学习谷歌地图API,你可以创建定制的地图,添加标记、路径、信息窗口...

    GoogleMap API + ASP.NET(C#)

    总的来说,Google Map API 和 ASP.NET(C#)的结合为Web开发者提供了一个强大且灵活的工具,可以创建出各种各样的地理位置应用,如导航系统、房地产搜索、交通信息展示等。通过深入研究和实践,开发者可以掌握这些技术...

    Google Map API 使用示例

    Google Map API 是一款强大的工具,它允许开发者在自己的网站或应用程序中嵌入地图功能,提供定位、导航、地理编码、路线规划等多种服务。本示例将深入探讨如何使用 Google Map API,帮助你理解和掌握其核心概念及...

    谷歌地图应用GoogleMap

    谷歌地图应用GoogleMap是一款基于Google提供的地图服务开发的应用程序,它允许用户进行一系列与地理位置相关的操作,如搜索城市、选择定位、切换浏览模式等。在移动设备上,这样的应用为用户提供了一个直观且实用的...

    GoogleMap控件下载

    **GoogleMap控件详解** GoogleMap控件是一个用于集成谷歌地图功能到应用程序中的开源组件,尤其在Web开发中被广泛使用。它允许开发者在自己的应用界面中嵌入实时、交互式的地图服务,提供定位、导航、地理编码、...

    google map 谷歌地图joomla!插件

    谷歌地图Joomla!插件是一种将Google Maps集成到Joomla!...平台带来了强大的地图功能,让网站在提供地理位置信息方面更加灵活和直观。然而,由于其对特定Joomla!版本的支持,用户需注意系统升级时的兼容性问题。

Global site tag (gtag.js) - Google Analytics