【问题标题】:jquery-ui-map setting the geolocation zoom leveljquery-ui-map 设置地理位置缩放级别
【发布时间】:2012-12-21 07:39:32
【问题描述】:

我正在使用 jquery-ui-map 并且需要在用户位置设置缩放级别。 目前它定位用户,然后完全放大,但我希望它进一步缩小。 我缺乏 javascript 技能,我已经搜索了答案并尝试了很多东西,但似乎没有任何效果。这是代码...

jQuery('#map_canvas').gmap({'center': '-23.7002104, 133.8806114','zoom': 3 }).bind('init', function() { 
    jQuery('#map_canvas').gmap('getCurrentPosition', function(position, status) {
    if ( status === 'OK' ) {
    var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
        jQuery.getJSON( 'http://publicaccessgolf.com.au/mapdata/', function(data) { 
            jQuery.each( data.course, function(i, course) {
                jQuery('#map_canvas').gmap('addMarker', { 
                    'position': new google.maps.LatLng(course.latitude, course.longitude),      
                }).click(function() {
                    jQuery('#map_canvas').gmap('openInfoWindow', { 'content': '<div align="left"><p style="color:#000000;"><a href="http://publicaccessgolf.com.au/' + course.slug + '" >' + course.name + '</a><br />' + course.address + '<br />' + course.contact + '</p></div>' }, this);
                });
            });
        });
        jQuery('#map_canvas').gmap('addMarker', {'position': clientPosition, 'zoom': 3});

    }
    });     
});

好的,我解决了,正确的代码如下。使用 maxZoom 代替缩放

jQuery('#map_canvas').gmap({'center': '-23.7002104, 133.8806114','maxZoom': 11}).bind('init', function() { 
    jQuery('#map_canvas').gmap('getCurrentPosition', function(position, status) {
    if ( status === 'OK' ) {
    var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
        jQuery.getJSON( 'http://publicaccessgolf.com.au/mapdata/', function(data) { 
            jQuery.each( data.course, function(i, course) {
                jQuery('#map_canvas').gmap('addMarker', { 
                    'position': new google.maps.LatLng(course.latitude, course.longitude),      
                }).click(function() {
                    jQuery('#map_canvas').gmap('openInfoWindow', { 'content': '<div align="left"><p style="color:#000000;"><a href="http://publicaccessgolf.com.au/' + course.slug + '" >' + course.name + '</a><br />' + course.address + '<br />' + course.contact + '</p></div>' }, this);
                });
            });
        });
        jQuery('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds':true});

    }
    });     
}); 

【问题讨论】:

  • jQuery('#map_canvas').gmap('addMarker', {'position': clientPosition, 'zoom': 3}); 这条线是你的问题吗?
  • 好吧,我认为在这里设置缩放级别会起作用,但事实并非如此。我试过 'bounds':true 但它完全放大了
  • 你试过这个建议了吗?

标签: jquery google-maps-api-3


【解决方案1】:

一旦我遇到这样的问题,然后我就阅读了 api 文档并找到了一种方法,这对我有用,你可以替换这一行:

jQuery('#map_canvas').gmap('addMarker', {'position': clientPosition, 'zoom': 3});

用这个:

 jQuery('#map_canvas').gmap('addMarker', {'position': clientPosition});
 jQuery('#map_canvas').gmap('option','zoom',3);
 jQuery('#map_canvas').gmap('option','center',new google.maps.LatLng(position.coords.latitude, position.coords.longitude));

试试这个,看看对你有没有帮助。

【讨论】:

    猜你喜欢
    • 2014-01-12
    • 2012-12-18
    • 2011-08-23
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    相关资源
    最近更新 更多