Foros del Web » Programando para Internet » Javascript »

Centrar un control en google maps

Estas en el tema de Centrar un control en google maps en el foro de Javascript en Foros del Web. Buenas, Estoy intentando crear un conjunto de mapas de Google maps personalizado, y quiero crear dos controles, que me permiten avanzar o retroceder entre los ...
  #1 (permalink)  
Antiguo 29/11/2015, 06:57
 
Fecha de Ingreso: noviembre-2015
Mensajes: 1
Antigüedad: 8 años, 4 meses
Puntos: 0
Centrar un control en google maps

Buenas,

Estoy intentando crear un conjunto de mapas de Google maps personalizado, y quiero crear dos controles, que me permiten avanzar o retroceder entre los mapas.

La creación de los controles no es un problema. Los he creado y funcionan bien. Lo malo es que están centrados el uno encima del otro. Pero en realidad me gustaría que estuviesen centrados, el uno al lado del otro!

El código que uso es el siguiente:

Código HTML:
<!DOCTYPE html>
<html>
  <head>
    <style type="text/css">
      html, body { height: 100%; margin: 0; padding: 0; }
      #map { height: 100%; }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script type="text/javascript"> 
Código:
var map;

function CenterControl(controlDiv, map, center) {
  var control = this;

  // Set the center property upon construction
  control.center_ = center;
  controlDiv.style.clear = 'both';

  // Set CSS for the control border
  var goCenterUI = document.createElement('div');
  goCenterUI.style.backgroundColor = '#fff';
  goCenterUI.style.border = '2px solid #fff';
  goCenterUI.style.borderRadius = '3px';
  goCenterUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)';
  goCenterUI.style.cursor = 'pointer';
  goCenterUI.style.marginBottom = '22px';
  goCenterUI.id = 'goCenterUI';
  goCenterUI.title = 'Atras';
  controlDiv.appendChild(goCenterUI);

  // Set CSS for the control interior
  var goCenterText = document.createElement('div');
  goCenterText.style.color = 'rgb(25,25,25)';
  goCenterText.style.fontFamily = 'Roboto,Arial,sans-serif';
  goCenterText.style.fontSize = '16px';
  goCenterText.style.lineHeight = '38px';
  goCenterText.style.paddingLeft = '5px';
  goCenterText.style.paddingRight = '5px';
  goCenterText.id = 'goCenterText';
  goCenterText.innerHTML = '<a href="https://www.google.es/"><</a>';
  goCenterUI.appendChild(goCenterText);

  // Set CSS for the setCenter control border
  var setCenterUI = document.createElement('div');
  setCenterUI.style.backgroundColor = '#fff';
  setCenterUI.style.border = '2px solid #fff';
  setCenterUI.style.borderRadius = '3px';
  setCenterUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)';
  setCenterUI.style.cursor = 'pointer';
  setCenterUI.style.marginBottom = '22px';
  setCenterUI.id = 'setCenterUI';
  setCenterUI.title = 'Adelante';
  controlDiv.appendChild(setCenterUI);

  // Set CSS for the control interior
  var setCenterText = document.createElement('div');
  setCenterText.style.color = 'rgb(25,25,25)';
  setCenterText.style.fontFamily = 'Roboto,Arial,sans-serif';
  setCenterText.style.fontSize = '16px';
  setCenterText.style.lineHeight = '38px';
  setCenterText.style.paddingLeft = '5px';
  setCenterText.style.paddingRight = '5px';
  setCenterText.id = 'setCenterText';
  setCenterText.innerHTML = '<a href="https://www.google.es/">></a>';
  setCenterUI.appendChild(setCenterText);
}

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: 25.557500, lng: 48.900133},
    zoom: 3,
	mapTypeId: google.maps.MapTypeId.TERRAIN,
	mapTypeControl: true,
    mapTypeControlOptions: {
      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
      mapTypeIds: [
        google.maps.MapTypeId.TERRAIN,
        google.maps.MapTypeId.ROADMAP,
        google.maps.MapTypeId.HYBRID
      ]
    },
	zoomControl: true,
	streetViewControl: false,
	rotateControl: true,
    scaleControl: true
  });
  
  // Create the DIV to hold the control and call the CenterControl() constructor
  // passing in this DIV.
  var centerControlDiv = document.createElement('div');
  var centerControl = new CenterControl(centerControlDiv, map);

  centerControlDiv.index = 1;
  centerControlDiv.style['padding-top'] = '24px';
  map.controls[google.maps.ControlPosition.TOP_CENTER].push(centerControlDiv);
}
Código HTML:
 </script>
    <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=XXXXX&callback=initMap">
    </script>
  </body>
</html> 
Podeis hecharme una mano con esta tontería?

Gracias!

Etiquetas: control, funcion, google, html, js, maps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.