Google Maps: carta di scorrimento di programmazione di x pixel
C'è un modo semplice per scorrere una mappa di Google a livello di codice di x
pixel?
posso solo pensare di utilizzare setCenter
, ma il problema è che avrei dovuto calcolare la nuova posizione (lat/lng) a seconda del livello di zoom ...
Riuscite a pensare a qualcosa di diverso? Dicendomi che non è possibile con l'API di Google Maps è una risposta valida se ne sei abbastanza sicuro.
ps: sto usando Gmaps4rails, quindi se riesci a pensare a un modo per farlo con la gemma, sarebbe bello. (come ad esempio la regolazione dei limiti di un sottoinsieme della mappa.) Perché alla fine il mio obiettivo è impedire al menu di nascondere alcuni indicatori. Avrei bisogno di cambiare il viewport della mappa, se questo ha senso, in modo che si adatti ai marcatori nell'area arancione, non alla mappa completa.
Soluzione:
@Shane migliore, grande, l'idea funziona perfettamente, ma credo che la soluzione è stata per Google API v2, giusto? Ecco come ho fatto per V3:
var point = map.getCenter();
var overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
var projection = overlay.getProjection();
var pixelpoint = projection.fromLatLngToDivPixel(point);
pixelpoint.x += my_value; # or .y
point = projection.fromDivPixelToLatLng(pixelpoint);
map.setCenter(point);
Se qualcuno sa di una soluzione migliore con API v3, ci dice a questo proposito.
Ho intenzione di provare questo, grazie. – Robin
Guardando la tua foto e cercando di capire meglio il tuo problema. Forse starai meglio con i fitbounds. http://stackoverflow.com/a/2496558/787921 –
Beh ... i limiti sono definiti dai miei indicatori. È sempre lo stesso per un determinato set di marcatori.Quello che non riesco a fare, è in sostanza la modifica del viewport della mappa, per escludere la parte superiore, dove si trova il menu, in modo che il metodo fitBounds della mappa possa fare il proprio lavoro nel modo che preferisco. (perché sto già usando fitBounds per iniziare, ma alcuni indicatori potrebbero essere nascosti dal menu). – Robin