Google maps 如何在已加载KML层的动态谷歌地图上使用按钮激活地理定位?
我有一个路径地图(KML层),它加载并以路径为中心。在地图的底部有一个按钮,上面写着“找到我!”。如何连接该按钮以查找用户的位置?我正在使用JQM和PhonegapGoogle maps 如何在已加载KML层的动态谷歌地图上使用按钮激活地理定位?,google-maps,jquery-mobile,button,geolocation,cordova,Google Maps,Jquery Mobile,Button,Geolocation,Cordova,我有一个路径地图(KML层),它加载并以路径为中心。在地图的底部有一个按钮,上面写着“找到我!”。如何连接该按钮以查找用户的位置?我正在使用JQM和Phonegap <head> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width, height=device-height, user-scalable=no
<head>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width, height=device-height, user-scalable=no, target-densitydpi=device-dpi"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Fenland Map</title>
<link rel="stylesheet" href="../../css/jquery.mobile.css" />
<link rel="stylesheet" href="../../css/bbt.css"/>
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
</style>
<script src="js/bbt.js"></script>
<script type="text/javascript" src="../../js/cordova-2.5.0.js"></script>
<script type="text/javascript" src="../../js/jquery.js"></script>
<script type="text/javascript">
$( document ).bind( "mobileinit", function() {
$.mobile.allowCrossDomainPages = true;
});
</script>
<script type="text/javascript" src="../../js/jquery.mobile.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(51.183244, -115.585399);
var myOptions = {
zoom: 15,
streetViewControl: false,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var kmlUrl = 'http://www.sites.google.com/site/skyrokml/kml/FenlandTrail.kml';
var kmlOptions = {
suppressInfoWindows: false,
preserveViewport: true,
map: map
};
var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);
}
</script>
</head>
<body onload="initialize();">
<div data-role="page" style="width:100%;height:100%;" id="fenlandmap">
<div data-role="content" style="width:100%;height:100%;">
<div id="map_canvas" style="width:100%; height:420px"></div>
</div><!-- /content -->
<div data-role="footer" data-position="fixed" id="footer">
<a href="../bbteasyfenlandloop.html" data-role="button" data-direction="reverse"
data-transition="slide"
data-icon="arrow-l">Back</a>
<a href="../../index.html" data-role="button"
data-transition="turn" data-direction="reverse" data-icon="home">Home</a>
<button id=”btnInit” data-icon="star">Find me!</button>
</div>
</div><!-- /page -->
</body>
芬兰地图
html{高度:100%}
正文{高度:100%;边距:0;填充:0}
$(document).bind(“mobileinit”,function(){
$.mobile.allowCrossDomainPages=true;
});
函数初始化(){
var latlng=新的google.maps.latlng(51.183244,-115.585399);
变量myOptions={
缩放:15,
街景控制:错误,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.HYBRID
};
var map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var Kmlur='1〕http://www.sites.google.com/site/skyrokml/kml/FenlandTrail.kml';
var kmlOptions={
suppressInfoWindows:false,
对,,
地图:地图
};
var kmlLayer=新的google.maps.kmlLayer(kmlUrl,kmlOptions);
}
找到我!
解决方案:
例子
芬兰地图
html{高度:100%}
正文{高度:100%;边距:0;填充:0;}
.ui内容{填充:0!重要;}
$(document).bind(“mobileinit”,function(){
$.mobile.allowCrossDomainPages=true;
});
var映射;
$(document).on('pageshow','#fenlandmap',function(){
$(文档)。在('单击','#“btnInit”'上,函数(){
getCurrentPosition(onMapSuccess,onMapFailure,{'EnableHighAccurance':true,'timeout':20000});
});
var latlng=新的google.maps.latlng(51.183244,-115.585399);
变量myOptions={
缩放:15,
街景控制:错误,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.HYBRID
};
map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var Kmlur='1〕http://www.sites.google.com/site/skyrokml/kml/FenlandTrail.kml';
var kmlOptions={
suppressInfoWindows:false,
对,,
地图:地图
};
var kmlLayer=新的google.maps.kmlLayer(kmlUrl,kmlOptions);
});
函数onMapSuccess(pos){
map.setCenter(新的google.maps.LatLng(pos.coords.lation,pos.coords.longitude));
}
函数onMapFailure(){
警报(“错误”);
}
找到我!
我无法告诉你你有多棒!
var map;
$(document).on('pageshow', '#fenlandmap', function(){
$(document).on('click', '#”btnInit”', function(){
navigator.geolocation.getCurrentPosition(onMapSuccess, onMapFailure,{'enableHighAccuracy':true,'timeout':20000});
});
var latlng = new google.maps.LatLng(51.183244, -115.585399);
var myOptions = {
zoom: 15,
streetViewControl: false,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var kmlUrl = 'http://www.sites.google.com/site/skyrokml/kml/FenlandTrail.kml';
var kmlOptions = {
suppressInfoWindows: false,
preserveViewport: true,
map: map
};
var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);
});
function onMapSuccess(pos) {
map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
}
function onMapFailure() {
alert('Error');
}
<head>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width, height=device-height, user-scalable=no, target-densitydpi=device-dpi"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Fenland Map</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0; }
.ui-content { padding: 0 !important; }
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$( document ).bind( "mobileinit", function() {
$.mobile.allowCrossDomainPages = true;
});
</script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
var map;
$(document).on('pageshow', '#fenlandmap', function(){
$(document).on('click', '#”btnInit”', function(){
navigator.geolocation.getCurrentPosition(onMapSuccess, onMapFailure,{'enableHighAccuracy':true,'timeout':20000});
});
var latlng = new google.maps.LatLng(51.183244, -115.585399);
var myOptions = {
zoom: 15,
streetViewControl: false,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var kmlUrl = 'http://www.sites.google.com/site/skyrokml/kml/FenlandTrail.kml';
var kmlOptions = {
suppressInfoWindows: false,
preserveViewport: true,
map: map
};
var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);
});
function onMapSuccess(pos) {
map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
}
function onMapFailure() {
alert('Error');
}
</script>
</head>
<body>
<div data-role="page" style="width:100%;height:100%;" id="fenlandmap">
<div data-role="content" style="width:100%;height:100%;" id="map_content">
<div id="map_canvas" style="width:100%; height:420px"></div>
</div><!-- /content -->
<div data-role="footer" data-position="fixed" id="footer">
<a href="../bbteasyfenlandloop.html" data-role="button" data-direction="reverse"
data-transition="slide"
data-icon="arrow-l">Back</a>
<a href="../../index.html" data-role="button"
data-transition="turn" data-direction="reverse" data-icon="home">Home</a>
<button id=”btnInit” data-icon="star">Find me!</button>
</div>
</div><!-- /page -->
</body>