我在 jquery 1.7.1、jqm 1.1.0 和 jquery-ui-maps v3 上运行了这个小片段。
从 jqm1.1.0 切换到 1.1.1 时,你们有没有遇到任何问题?我在一个 jqm 应用程序实例上有这个代码,它在更新之前工作:
function loadGMaps() {
$(document).live('pageinit', function() {
$('#main-map').gmap({'disableDefaultUI':true, 'callback': function(map) {
var self = this;
self.watchPosition( function(position, status) {
if ( status === 'OK' ) {
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
if ( !self.get('markers').client ) {
self.addMarker({ 'id': 'client', 'position': latlng, 'bounds': true });
} else {
self.get('markers').client.setPosition(latlng);
map.panTo(latlng);
}
/*self.search({ 'address': 'Vancouver, Canada' }, function(results, status) {
if ( status === 'OK' ) {
console.log(results[0]);
}
});*/
}
});
}});
});
$(document).live( 'pageshow', function() {
$('#main-map').gmap('refresh')
});
$(document).live( 'pagehide', function() {
$('#main-map').gmap('clearWatch')
});
}
使用 ff 调试器,似乎没有调用 self.watchPosition() 命令,只是跳过它。
代码取自这里 http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html#gps_map
有人可以在那里给我一个建议吗?谢谢!
编辑:我使用的 HTML 代码与示例中的非常相似:
<div id='intro' data-role='content'>
<div class='row'>
<div class='twelvecol last'>
<div class='cell'>
<div id='main-map' style='height:300px;' class='align-center'>
<h5>
<span>Map</span>
</h5>
</div>
</div>
</div>
</div>
</div>