jQuery-ui-Map comment définir le niveau de zoom
-
28-10-2019 - |
Question
J'ai le code suivant qui fonctionne bien, mais je ne peux pas ajouter un niveau de zoom. Selon le docs ça devrait fonctionner avec 'option', 'zoom', 7
Mais cela donne une erreur: "$("#map_canvas").gmap("option", "zoom", 7).bind is not a function"
Code de travail, sans zoom, édité. Le zoom est toujours à 1.
$("#map_trigger").click(function(){
var prop_id = $("#map_canvas").attr("rel");
$('#map_canvas').gmap({'zoom':6}).bind('init', function(evt, map) {
$.getJSON( basepath+'properties/get_gps_coords/'+prop_id, function(data) {
$.each( data.markers, function(i, m) {
lat = m.latitude;
longitude = m.longitude;
$('#map_canvas').gmap(
'addMarker', { 'position': new google.maps.LatLng(lat, m.longitude), 'bounds':true }
);
});
});
});
});
Comment puis-je ajouter un niveau de zoom à cet extrait?
La solution
Utilisation:
$("#map_canvas").gmap({'zoom':7})
La méthode d'option peut être utilisée lorsque la carte est déjà initialisée et ne renverra pas de jQuery-Object, donc elle n'est pas chaînable (ce qui expliquera l'erreur que vous avez obtenue).
Autres conseils
Ce code fonctionne pour moi:
<!doctype html>
<html>
<head>
<meta http-equiv="content-language" content="es">
<meta charset="utf-8">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="js/jquery-1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="../ui/jquery.ui.map.js"></script>
</head>
<body>
<div style="height: 500px; width:500px;" id="map_canvas"></div>
<button id="btnChangeZoom">change zoom</button>
<script type="text/javascript">
$(function() {
$('#map_canvas').gmap({ 'center': '40.33238,-3.76546','scrollwheel':false});
$('#map_canvas').gmap('option', 'mapTypeId', google.maps.MapTypeId.SATELLITE);
$('#map_canvas').gmap('option', 'zoom', 17);
});
$("#btnChangeZoom").click(function(){changeZoom()});
function changeZoom(){
$('#map_canvas').gmap('option', 'zoom', 10);
}
</script>
</body>
</html>
Vous avez besoin de centrer la carte, puis de le zoomer. Voici un échantillon de code
$('#map_canvas').gmap({'center': '43.1502, 25.02083'})
$('#map_canvas').gmap('option', 'zoom', 10);
$('#map_canvas').gmap('addMarker', {'position': '43.1502, 25.02083', 'icon': '/picnic/img/Pin.png'}).click(function() {
//$('#map_canvas').gmap('openInfoWindow', {'content': 'Hello World!'}, this);
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow