2012-03-13 23 views
6

Quiero eliminar la opción para que el usuario coloque el mapa en el modo de inclinación de 45 grados desde la vista del satélite. Puedo establecer la inclinación predeterminada llamando a setTilt (0) en el objeto Map, pero cuando se muestra el mapa, y el usuario hace clic en la opción Satellite en la esquina superior derecha del mapa, todavía muestra la opción de 45 grados.Cómo deshabilitar la opción de 45 grados en Google Maps API de Javascript 3.x

¿Cómo puedo eliminar la opción de 45 grados, y todavía tengo el usuario capaz de alternar entre la carretera y la vista de satélite.

+1

No creo que esto es posible.No solo no se menciona en la documentación, tampoco hay nada fácilmente accesible en la API. –

Respuesta

2

He hecho esto al volver a implementar manualmente el "mapTypeControl". entonces usted tiene control sobre exactamente lo que está incluido.

(Lo he hecho porque solía haber ninguna manera de no includeing la opción Terreno - pero que ha sido ahora fijada Es el mismo tema básico.)

puede utilizar este ejemplo como punto de partida: http://gmaps-samples-v3.googlecode.com/svn/trunk/controls/index.html

+0

Ok, gracias, supongo que no me pueden indicar una muestra de código con un mapTypeControl personalizado. – Fraggle

+0

Eliminamos el código del proyecto en el que estoy trabajando, como ya he dicho, el problema con la exclusión de terreno se ha corregido en el original. Quizás pueda encontrar el código si realmente voy a cavar. Pero estaba más o menos basado en un ejemplo de Google (así que obtuve todo el CSS, etc.) - He actualizado la respuesta con el enlace. – barryhunter

+2

@barryhunter El enlace no funciona – Malachi

6
var mapOptions = { 
    center: mycenter, 
    zoom: 7, 
    tilt: 0, 

este código desactiva la vista de 45 grados para siempre, pero no pude eliminarla.

editado

+0

No funciona. La versión desplegable del menú, todavía incluye la imaginación de 45 grados como una opción. (solo aparece cuando seleccionas satalite). Demostrador: http://www.nearby.org.uk/google/nolabels-drop.php (acercar a decir Roma) – barryhunter

+0

"Ver fuente" en su navegador? (usualmente Ctrl-U funciona) – barryhunter

+0

no hay una forma definida de eliminar la vista de 45 grados. solo aparecen lugares disponibles con imágenes de 45 grados. (http://maps.google.com/maps/ms?ie=UTF8&t=h&oe=UTF8&msa=0&msid=112099477591857711257.00048ad05c320f746f5c2) intente definir "setTilt" y "getTilt" en javascript. e "inclinación" también se asocia con el nivel de zoom ... – zippo

13

La mejor kludge que he encontrado para resolver esto implica tanto estableciendo el parámetro de inclinación en las opciones del mapa, y también ocultar la ventana emergente usando CSS selectores de atributos. En las otras soluciones, un usuario puede cambiar manualmente a la vista de 45º.

Opciones de mapa

var mapOptions = { 
    tilt:0, 
    //all other map options 
} 

CSS para ocultar la ventana emergente (al pasar el ratón sobre el control 'Satellite').

[title=Show\ 45\ degree\ view] 
{ 
    display:none; 
} 
+1

Debe evitar el uso de texto localizado al seleccionar elementos en css, cuando sea posible. ¿Qué sucede con esta solución cuando el cliente está viendo tu página en alemán? –

+0

Para ocultar el botón de inclinación en Google Map, use cualquiera de estas opciones: '.gm-tilt {display: none;}' '$ (" .gm-tilt "). Hide();' – dsm

0

me pareció que necesita un poco diferente CSS para ocultar el selector de 45 grados:

[title=Show\ 45\ degree\ view], [title=Zoom\ in\ to\ show\ 45\ degree\ view], [title=Zoom\ in\ to\ show\ 45-degree\ view] { 
    display:none !important; 
} 

actualización, que se encuentra aún otro título usado cuando los mapas se ven en los dispositivos móviles.

+0

Hombre esto es feo , pero lo voté porque todas las soluciones aquí parecen ser bastante feas y esta es al menos mínima. –

0

Otra alternativa es agregar un detector de eventos para que forzar la inclinación sea 0. Esto es además de establecer tilt: 0 en las opciones de su mapa como otros lo recomiendan.

No elimina la interfaz de usuario, pero evita cualquier vista, excepto la sobrecarga. Es independiente del lenguaje y no es necesario que mantenga su CSS actualizado.

Ej:

google.maps.event.addListener(map, 'tilt_changed', function() { 
    if (map.getTilt() != 0) { 
     map.setTilt(0); 
    } 
}); 
0

Esas respuestas están muy bien, pero yo prefiero utilizar este selector para ocultar el botón de inclinación:

[class="gm-tilt"] 
{ 
    display:none; 
} 
+0

Simplemente use '.gm-tilt'. – cst1992

-1

Al llegar el guión, hay una variable llamada myoptions y este contiene el zoom. Al igual que:

var myOptions = {zoom:19,center:new google.maps.LatLng(....... 

En aquí se puede incluir la variable de inclinación: 0, como:

var myOptions = {zoom:19,tilt:0,center:new google.maps.LatLng(....... 
Cuestiones relacionadas