Javascript 谷歌地图v3-触发地理定位onClick,而不是onLoad
Javascript新手警告 我正在一个新项目中使用此演示: 一切都很好,除了我需要做一个功能调整 目前,当页面加载时,应用程序会立即访问地理位置。 我需要找到一种方法来改变这一点,这样当我点击一个链接,比如“使用我的当前位置”时,geolocation函数就会触发 我已经尝试了很多次,但我承认我的新手javascript语法是个问题 我将粘贴一个干净的本地版本的地图(只需要链接modernizer)。 如果有人能帮我通过链接触发地理定位功能,而不是在页面加载时自动启动,你将是一个救星Javascript 谷歌地图v3-触发地理定位onClick,而不是onLoad,javascript,jquery,google-maps-api-3,onclick,Javascript,Jquery,Google Maps Api 3,Onclick,Javascript新手警告 我正在一个新项目中使用此演示: 一切都很好,除了我需要做一个功能调整 目前,当页面加载时,应用程序会立即访问地理位置。 我需要找到一种方法来改变这一点,这样当我点击一个链接,比如“使用我的当前位置”时,geolocation函数就会触发 我已经尝试了很多次,但我承认我的新手javascript语法是个问题 我将粘贴一个干净的本地版本的地图(只需要链接modernizer)。 如果有人能帮我通过链接触发地理定位功能,而不是在页面加载时自动启动,你将是一个救星 <
<!doctype html>
<html lang="en">
<head>
<title>jQuery mobile with Google maps - Google maps jQuery plugin</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link type="text/css" rel="stylesheet" href="http://jquery-ui-map.googlecode.com/svn/trunk/demos/css/jquery-mobile-1.0/jquery.mobile.css" />
<link rel="stylesheet" href="http://jquery-ui-map.googlecode.com/svn/trunk/demos/css/mobile.css" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript" src="../js/modernizr.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script type="text/javascript" src="demo.js"></script>
<script type="text/javascript" src="http://jquery-ui-map.googlecode.com/svn/trunk/ui/jquery.ui.map.js"></script>
<script type="text/javascript" src="http://jquery-ui-map.googlecode.com/svn/trunk/ui/jquery.ui.map.services.js"></script>
<script type="text/javascript" src="http://jquery-ui-map.googlecode.com/svn/trunk/ui/jquery.ui.map.extensions.js"></script>
<script type="text/javascript">
var mobileDemo = { 'center': '40.74843,-73.98566', 'zoom': 18 };
////////////////////////////////////////////////////////////
$('#directions_map').live('pageinit', function() {
demo.add('directions_map', function() {
$('#map_canvas_1').gmap({'center': mobileDemo.center, 'zoom': mobileDemo.zoom, 'disableDefaultUI':true, 'callback': function() {
var self = this;
self.addMarker({'position': this.get('map').getCenter() }).click(function() {
self.openInfoWindow({ 'content': 'Hello World!' }, this);
});
self.set('getCurrentPosition', function() {
self.refresh();
self.getCurrentPosition( function(position, status) {
if ( status === 'OK' ) {
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude)
self.get('map').panTo(latlng);
self.search({ 'location': latlng }, function(results, status) {
if ( status === 'OK' ) {
$('#from').val(results[0].formatted_address);
}
});
} else {
alert('Unable to get current position');
}
});
});
$('#submit').click(function() {
self.displayDirections({ 'origin': $('#from').val(), 'destination': $('#to').val(), 'travelMode': google.maps.DirectionsTravelMode.DRIVING }, { 'panel': document.getElementById('directions')}, function(response, status) {
( status === 'OK' ) ? $('#results').show() : $('#results').hide();
});
return false;
});
}});
}).load('directions_map');
});
$('#directions_map').live('pageshow', function() {
demo.add('directions_map', $('#map_canvas_1').gmap('get', 'getCurrentPosition')).load('directions_map');
});
</script>
</head>
<body>
<div id="directions_map" data-role="page"><div data-role="content">
<div class="ui-bar-c ui-corner-all ui-shadow" style="padding:1em;">
<div id="map_canvas_1" style="height:300px;"></div>
<p>
<label for="from">From</label>
<input id="from" class="ui-bar-c" type="text" value="" />
</p>
<p>
<label for="to">To</label>
<input id="to" class="ui-bar-c" type="text" value="350 5th Ave, New York, NY 10118" />
</p>
<a id="submit" href="#" data-role="button" data-icon="search">Get directions</a>
</div>
<div id="results" class="ui-listview ui-listview-inset ui-corner-all ui-shadow" style="display:none;">
<div class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">Results</div>
<div id="directions"></div>
<div class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-bottom ui-btn-up-undefined"></div>
</div>
</div></div>
</body>
</html>
带谷歌地图的jQuery手机-谷歌地图jQuery插件
var mobileDemo={'center':'40.74843,-73.98566','zoom':18};
////////////////////////////////////////////////////////////
$(“#方向图”).live('pageinit',function(){
demo.add('directions\u map',function()){
$(“#map_canvas_1”).gmap({'center':mobileDemo.center,'zoom':mobileDemo.zoom,'disableDefaultUI':true,'callback':function(){
var self=这个;
self.addMarker({'position':this.get('map').getCenter()})。单击(函数(){
openInfoWindow({'content':'helloworld!'},this);
});
self.set('getCurrentPosition',function(){
self.refresh();
self.getCurrentPosition(函数(位置、状态){
如果(状态=='OK'){
var latlng=new google.maps.latlng(position.coords.latitude,position.coords.longitude)
self.get('map').panTo(latlng);
self.search({'location':latlng},函数(结果,状态){
如果(状态=='OK'){
$('#from').val(结果[0]。格式化的地址);
}
});
}否则{
警报(“无法获取当前位置”);
}
});
});
$(“#提交”)。单击(函数(){
self.displayDirections({'origin':$('#from').val(),'destination':$('#to').val(),'travelMode':google.maps.DirectionsTravelMode.DRIVING},{'panel':document.getElementById('directions'),函数(响应,状态){
(状态=='OK')?$('results').show():$('results').hide();
});
返回false;
});
}});
}).load(“方向图”);
});
$(“#方向图”).live('pageshow',function(){
demo.add('directions_map',$('directions#map_canvas_1').gmap('get','getCurrentPosition')).load('directions_map');
});
从…起
到
后果
HI Adam,你对发布的问题有什么反馈吗?(未看到任何编辑)