手机
当前位置:查字典教程网 >网页设计 >HTML5教程 >html5指南-7.geolocation结合google maps开发一个小的应用
html5指南-7.geolocation结合google maps开发一个小的应用
摘要:今天我们将把html5的geolocation结合googlemaps开发一个小的应用。googlemaps的api地址:https://d...

今天我们将把html5的geolocation结合google maps开发一个小的应用。google maps的api地址:https://developers.google.com/maps/documentation/javascript/?hl=zh-CN。

调用google maps,实现需要添加js引用<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>,其中sensor参数的具体含义:

要使用 Google Maps API,您需要指明自己的应用程序在任何 Maps API 库或服务请求中是否是使用传感器(如 GPS 定位器)来确定用户所处位置的。这对移动设备尤为重要。如果您的 Google Maps API 应用程序使用任何形式的传感器确定访问您的应用程序的设备的位置,那么您必须通过将 sensor 参数值设置为 true 以声明这一点。

html部分比较简单,只需要准备一个div就可:

<body>

<div id="map">

</div>

</body>

js代码的框架如下:

<script type="text/javascript">

var map;

var browserSupport = false;

var attempts = 0;

$(document).ready(function () {

//初始化地图

InitMap();

//定位

getLocation();

//定位跟踪

watchLocation();

});

function InitMap() {

/* Set all of the options for the map */

var options = {

};

/* Create a new Map for the application */

map = new google.maps.Map($('#map')[0], options);

}

/*

* If the W3C Geolocation object is available then get the current

* location, otherwise report the problem

*/

function getLocation() {

}

function watchLocation() {

}

/* Plot the location on the map and zoom to it */

function plotLocation(position) {

}

/* Report any errors using this function */

function reportProblem(e) {

}

</script>

InitMap方法就是调用google maps api初始化地图,他需要设置options对象,在调用地图初始化的时候使用。

function InitMap() {

/* Set all of the options for the map */

var options = {

zoom: 4,

center: new google.maps.LatLng(38.6201, -90.2003),

mapTypeId: google.maps.MapTypeId.ROADMAP,

mapTypeControl: true,

mapTypeControlOptions: {

style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,

position: google.maps.ControlPosition.BOTTOM_CENTER

},

panControl: true,

panControlOptions: {

position: google.maps.ControlPosition.TOP_RIGHT

},

zoomControl: true,

zoomControlOptions: {

style: google.maps.ZoomControlStyle.LARGE,

position: google.maps.ControlPosition.LEFT_CENTER

},

scaleControl: true,

scaleControlOptions: {

position: google.maps.ControlPosition.BOTTOM_LEFT

},

streetViewControl: true,

streetViewControlOptions: {

position: google.maps.ControlPosition.LEFT_TOP

}

};

/* Create a new Map for the application */

map = new google.maps.Map($('#map')[0], options);

}

getLocation和watchLocation方法获取定位信息。

function getLocation() {

/* Check if the browser supports the W3C Geolocation API */

if (navigator.geolocation) {

browserSupport = true;

navigator.geolocation.getCurrentPosition(plotLocation, reportProblem, { timeout: 45000 });

} else {

reportProblem();

}

}

function watchLocation() {

/* Check if the browser supports the W3C Geolocation API */

if (navigator.geolocation) {

browserSupport = true;

navigator.geolocation.watchPosition(plotLocation, reportProblem, { timeout: 45000 });

} else {

reportProblem();

}

}

成功获取位置信息后,调用plotLocation方法把位置显示在google maps上。

function plotLocation(position) {

attempts = 0;

var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

var marker = new google.maps.Marker({

position: point

});

marker.setMap(map);

map.setCenter(point);

map.setZoom(15);

}

demo下载地址:googleMapGeolocation.rar

【html5指南-7.geolocation结合google maps开发一个小的应用】相关文章:

html5指南-1.html5全局属性(html5 global attributes)深入理解

html5 桌面提醒:Notifycations应用介绍

html5 application cache遇到的严重问题

HTML5的Geolocation地理位置定位API使用教程

使用HTML5技术开发一个属于自己的超酷颜色选择器

html5本地存储 localStorage操作使用详解

html5适合移动应用开发的12大特性

用html5的canvas和JavaScript创建一个绘图程序的简单实例

使用html5 canvas创建太空游戏的示例

使用HTML5技术开发一个属于自己的超酷颜色选择器

精品推荐
分类导航