Google maps 谷歌方向服务。如何检测是否在浏览器中禁用地理位置
如果用户已禁用位置功能或使用不受地理位置支持的功能 如何通过编程实现这一点?如果我在浏览器中启用地理位置,则会执行此操作;如果我不启用,则希望执行其他一些代码。如果我不启用或使用不受支持的浏览器,则会执行其他代码Google maps 谷歌方向服务。如何检测是否在浏览器中禁用地理位置,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,如果用户已禁用位置功能或使用不受地理位置支持的功能 如何通过编程实现这一点?如果我在浏览器中启用地理位置,则会执行此操作;如果我不启用,则希望执行其他一些代码。如果我不启用或使用不受支持的浏览器,则会执行其他代码 <script type="text/javascript"> var directionDisplay; var directionsService = new google.maps.DirectionsService(); var map; func
<script type="text/javascript">
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var myOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: chicago
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
</script>
</head>
<body onload="initialize()">
<div>
方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量myOptions={
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
方向显示.setMap(地图);
}
函数calcRoute(){
var start=document.getElementById(“start”).value;
var end=document.getElementById(“end”).value;
var请求={
来源:start,
目的地:完,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
}
我会用它来探查浏览器是否支持地理定位,然后采取适当的措施
if (Modernizr.geolocation) {
//do geolocation/gmaps stuff
} else {
//do something else
}
您甚至可以加载垫片,将地理定位功能提供给不支持它的浏览器。下面是一些例子
e、 g
--编辑
方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
if(现代化地理定位){
//进行地理定位
navigator.geolocation.getCurrentPosition(初始化GEO,句柄_错误);
}否则{
//无地理定位路径
初始化enongeo();
}
}
函数句柄错误(err){
警报(“无法运行地理定位”);
如果(err.code==1){
警报(“用户拒绝”);//用户说不!
}
初始化enongeo();
}
函数初始化egeo(){
警报(“具有地理位置”);
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量myOptions={
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
方向显示.setMap(地图);
}
函数初始化enongeo(){
警告(“无地理位置”);//执行非地理位置操作。
}
我会用它来探查浏览器是否支持地理定位,然后采取适当的措施
if (Modernizr.geolocation) {
//do geolocation/gmaps stuff
} else {
//do something else
}
您甚至可以加载垫片,将地理定位功能提供给不支持它的浏览器。下面是一些例子
e、 g
--编辑
方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
if(现代化地理定位){
//进行地理定位
navigator.geolocation.getCurrentPosition(初始化GEO,句柄_错误);
}否则{
//无地理定位路径
初始化enongeo();
}
}
函数句柄错误(err){
警报(“无法运行地理定位”);
如果(err.code==1){
警报(“用户拒绝”);//用户说不!
}
初始化enongeo();
}
函数初始化egeo(){
警报(“具有地理位置”);
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量myOptions={
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
方向显示.setMap(地图);
}
函数初始化enongeo(){
警告(“无地理位置”);//执行非地理位置操作。
}
我可能会将您的initilize方法重命名为initializeGeo或类似的名称,然后创建一个initilize方法,类似于:function initialize(){if(modernizer.geolocation){initiliseGeo();}else{initialiseNonGeo}
:我应该使用任何一个库来让Modernizer工作吗?你不能在一个事件中调用两个函数。你应该只需要Modernizer库(你可能只需要选中额外的地理定位API框)和google maps API。您只需调用一个方法,然后使用if-else语句调用相应的方法。只需将默认值保留在额外的值中。HTML5垫片、modernizer load和CSS:我在bot if和else中插入了一个警报,两个都没有警报,这意味着插件不工作。我是否有任何加载该插件的web链接。我可能会将您的initilize方法重命名为initializeGeo或类似的东西,然后创建一个initilize方法,比如:function initialize(){if(Modernizer.geolocation){initiliseGeo();}else{initialiseNonGeo}
:我应该使用任何库让这个Modernizer工作吗?你不能在一个事件中调用两个函数你应该只需要Modernizer库(您可能只需要选中额外的地理位置API框)还有谷歌地图API。你只需调用一个方法,然后使用if-else语句调用相应的方法。只需保留额外的默认值。HTML5垫片、modernizer load和CSS。注意:我在bot if和else中插入了一个警报,两者都没有警报,这意味着插件无法工作。我是否有该插件获得的任何web链接他已经上膛了。
<html>
<head>
<script type="text/javascript" src="modernizer.js"></script>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=&sensor=true"></script>
<script>
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
if (Modernizr.geolocation) {
// Do the geolocation
navigator.geolocation.getCurrentPosition(initializeGeo, handle_error);
} else {
// No geolocation path
initializeNonGeo();
}
}
function handle_error(err) {
alert("Geolocation could not be run");
if (err.code == 1) {
alert("user denied");// user said no!
}
initializeNonGeo();
}
function initializeGeo() {
alert("has geolocation");
directionsDisplay = new google.maps.DirectionsRenderer();
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var myOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: chicago
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
}
function initializeNonGeo() {
alert("no geolocation"); //do non geo stuff.
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
</body>
</html>