我有以下代码来了解地图。除缩放参数外,一切正常。无论我为缩放设置什么,它总是显示相同的缩放级别。我该怎么办?
$('#pagemap').live("pageshow", function() {
$('#map_canvas').gmap().bind('init', function(evt, map) {
$('#map_canvas').gmap('getCurrentPosition', function(position, status) {
if ( status === 'OK' ) {
var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$('#map_canvas').gmap('option', 'mapTypeId', google.maps.MapTypeId.SATELLITE);
$('#map_canvas').gmap('option', 'zoom', 13);
$('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds': true});
}
});
});
});
答案 0 :(得分:5)
您需要将标记的'bounds'选项更改为false。
$('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds': false});
如果将属性边界设置为true,则地图将自动计算视口和缩放,覆盖构造函数中的任何缩放集 块引用
this是更多信息的链接
答案 1 :(得分:0)
我遇到了解决方案的问题。如果我将边界设置为false,则地图将保持在其初始中心坐标的中心。好的。那么为什么我的地图集中在一个远离针的点?好的,没问题。但是,如果我仍想在添加标记后设置特定的缩放级别?
$("your-selector").gmap('addMarker', {
'position': latlng,
'bounds': true
}, function(map, marker) {
map.set('zoom', 12);
}).click(function() {
$(this.container).gmap('openInfoWindow', { 'content': 'TEXT_AND_HTML_IN_INFOWINDOW' }, this);
});
你只需回调gmap功能。但是人们,是不是该修正这个插件的API文档中所有损坏链接的时候了?难道没有时间为任何插件编写指定且清晰的Javascript文档吗?让我们互相帮助,这种方式相当复杂。我们正在失去很多时间。
答案 2 :(得分:0)
试试这个,看看这个" zoom:9"在代码中缩放级别......
<div id="MyDivScrolling">
<div>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyC8KY7rkZP7Xyq5oVM0nssUc4OPIP7MQtw&callback=initMap"></script>
<script type="text/javascript">
var markers = [{
"title": 'Havana',
"lat": '23.1330200',
"lng": '-82.3830400',
"description": 'José Martí International Airport, Havana'
}
,
{
"title": 'Tampa',
"lat": '27.964157',
"lng": '-82.452606',
"description": 'Tampa International Airport, Tampa'
}
,
{
"title": 'Orlando',
"lat": '28.538336',
"lng": ' -81.379234',
"description": 'Orlando International Airport, Orlando'
}
,
{
"title": 'Havana',
"lat": '23.1330200',
"lng": '-82.3830400',
"description": 'José Martí International Airport, Havana'
}
,
{
"title": 'Havana',
"lat": '23.1330200',
"lng": '-82.3830400',
"description": 'José Martí International Airport, Havana'
}
,
{
"title": 'Miami',
"lat": '25.7742700',
"lng": '-80.1936600',
"description": 'Miami International Airport, Miami'
}
,
{
"title": 'Camagüey-Ignacio Agramonte',
"lat": '21.416666666667',
"lng": '-77.866666666667 ',
"description": 'Camagüey-Ignacio Agramonte Airport, Camagüey'
}
,
{
"title": 'Camagüey-Ignacio Agramonte',
"lat": '21.416666666667',
"lng": '-77.866666666667 ',
"description": 'Camagüey-Ignacio Agramonte Airport, Camagüey'
}
,
{
"title": 'Tampa',
"lat": '27.964157',
"lng": '-82.452606',
"description": 'Tampa International Airport, Tampa'
}];
window.onload = function () {
var mapOptions = {
center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
zoom: 9,
mapTypeId: google.maps.MapTypeId.Streapmap
};
var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
var infoWindow = new google.maps.InfoWindow();
var lat_lng = new Array();
var latlngbounds = new google.maps.LatLngBounds();
for (i = 0; i < markers.length; i++) {
var data = markers[i]
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
lat_lng.push(myLatlng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: data.title
});
latlngbounds.extend(marker.position);
(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(data.description);
infoWindow.open(map, marker);
});
})(marker, data);
}
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
//***********ROUTING****************//
//Intialize the Path Array
var path = new google.maps.MVCArray();
//Intialize the Direction Service
var service = new google.maps.DirectionsService();
//Set the Path Stroke Color
var poly = new google.maps.Polyline({ map: map, strokeColor: 'Blue' });
//Loop and Draw Path Route between the Points on MAP
for (var i = 0; i < lat_lng.length; i++) {
if ((i + 1) < lat_lng.length) {
var src = lat_lng[i];
var des = lat_lng[i + 1];
path.push(src);
poly.setPath(path);
service.route({
origin: src,
destination: des,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function (result, status) {
if (status == google.maps.DirectionsStatus.OK) {
for (var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
path.push(result.routes[0].overview_path[i]);
}
}
});
}
}
}
</script>
<div class="MainSliderItem2 ImagesContainerItem">
<div id="dvMap" style="width: 100%;height: 490px;position: relative;overflow: hidden;background-color: rgb(229, 227, 223);max-width: 80%;margin: 98px auto;">
</div>
</div>
</div>
</div>