您的位置:首页 > Web前端 > JavaScript

ASP.NET Google Maps Javascript API V3 实战基础篇一检测用户位置

2010-10-18 15:06 429 查看

ASP.NET Google Maps Javascript API V3 实战基础篇一检测用户位置

对于一些基本的东西,google maps JavaScript api v3 文档已经讲解得足够清晰了,所以不在文章做复述。
google maps JavaScript api v3 文档
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Map_Geolocation.aspx.cs"
Inherits="Samples.Basics.Map_Geolocation" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>检测用户地理位置例子</title>
<style type="text/css">
#maps
{
height: 500px;
}
</style>
<script type="text/javascript" src="}"></script]http://www.google.com/jsapi?autoload={'modules':[{name:'maps',version:3,other_params:'sensor=false'}]}"></script>
<script type="text/javascript" language="javascript">
var initialLocation; //申明地图中心地址变量
var siberia = new google.maps.LatLng(60, 105); //西伯利亚地址
var xianning = new google.maps.LatLng(30, 116); //咸宁地址
var browserSupportFlag = false; //申明浏览器是否支持检测地理位置标识变量,默认不支持
//地图初始化方法
function initalize() {
var myOption = { zoom: 6, mapTypeId: google.maps.MapTypeId.ROADMAP }; //设置地图初始化变量值
var map = new google.maps.Map(document.getElementById("maps"), myOption); //初始化地图
//先尝试使用W3C标准,如果可以,则将标识变量设置为true,并将检测到地址设置为地图中心地址,并调用handleNoGeoLocation函数
if (navigator.geolocation) {
browserSupportFlag = true;
navigator.geoloaction.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeoLocation(browserSupportFlag);
}
);

}
//尝试使用Google 的方法 如果可以,则将标识变量设置为true,并将检测到地址设置为地图中心地址,并调用handleNoGeoLocation函数
else if (google.gears) {
browserSupportFlag = true;
var geo = google.maps.factory.create('beta.geolocation');
geo.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.latitude, position.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeoLocation(browserSupportFlag);
});
} else { //当以上方法都不支持时,将标识变量设置为false ,并调用handleNoGeoLocation函数
browserSupportFlag = false;
handleNoGeoLocation(browserSupportFlag);
}
//如果标识为true,则提示浏览器支持地理位置定位,否则提示不支持,并将地图中心地址设置为西伯利亚,最后设置地图中心位置
function handleNoGeoLocation(flag) {
if (flag == true) {
alert('你的浏览器支持地理位置定位!');
} else {
alert("你的浏览器不支持地理定位,把你放在了西伯利亚!");
initialLocation = siberia;
}
map.setCenter(initialLocation);
}
}
</script>
</head>
<body onload=" initalize();">
<!--在body 的onload事件绑定地图初始化方法 -->
<form id="form1" runat="server">
<div id="maps">
</div>
</form>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: