Fichero de "pins"
Cuando hablamos de "pins" nos referimos a las imagenes que emplea Google Maps para señalar las localicaciones en los mapas. Para personalizar estos gráficos en tu aplicación basta con definir un fichero JSON
con sus nombres y propiedades que después podrás emplear en el correspondiente fichero de ubicaciones / posiciones / coordenadas (ver a la derecha).
Siempre debes definir los pins ANTES de inicializar ningún mapa, en caso contrario se emplearán los "pins" por defecto de google maps.
Puedes echar un ojo al fichero gmapz.pins.js
que se ha empleado en todas las demos de esta documentación, empléalo como base para personalizar los pins de tu proyecto. Los pins deben tener una clave única que permita referenciarlos más tarde en el fichero de coordenadas.
Hay 2 casos especiales de pins:
1. El pin 'default'
que es el pin que se usará por defecto cuando no se indique ningún otro.
2. El pin user_location
que es el indica la posición del usuario en el mapa cuando se usan las funciones de geolocalización, o las funcionalidades de encontrar la ubicación más cercana a la del usuario.
// Pins must be defined BEFORE map initialization
var base_path = 'img/gmapz/';
GMapz.pins = {
'default': { // IE8 Reserved word, allways must be QUOTED!
pin: {
img: base_path + 'pin.png',
size: [48.0, 48.0],
anchor: [24.0, 48.0]
}
},
user_location: { // Used for user location
pin: {
img: base_path + 'pin-user-location.png',
size: [48.0, 48.0],
anchor: [24.0, 48.0]
}
},
orange: {
pin: {
img: base_path + 'pin-orange.png',
size: [48.0, 48.0],
anchor: [24.0, 48.0]
}
},
blue: {
pin: {
img: base_path + 'pin-blue.png',
size: [48.0, 48.0],
anchor: [24.0, 48.0]
}
},
green: {
pin: {
img: base_path + 'pin-green.png',
size: [48.0, 48.0],
anchor: [24.0, 48.0]
}
}
};
Fichero localizaciones / marcadores
Este fichero define las coordenadas
de cada marcador en el mapa (en formato latitud
, longitud
), así como el pin
que se dibujará, y el contenido del infowindow
(la ventanita que se muestra cuando pulsamos sobre un marcador).
Cada marcador comienza con una clave / key / index
que debe ser única, esta clave puede ser numérica o alfanumérica y solo debe emplear caracteres dentro del rango: [a-zA-z0-9_].
Los marcadores pueden tener dos propiedades adicionales: draggable
, que indica que usuario podrá mover el marcador y visible
que si es false
hará que el marcador se añada al mapa oculto inicialmente.
Es útil agrupar los marcadores en diferentes objetos, así podremos tener los marcadores organizados.
// Grupo de en Marruecos
var morocco = {
'FEZ' : { // Clave única
pin: 'green', // Pin que se dibujará
lat: 34.0338,
lng: -5.0002,
iw: 'Fez en Marruecos', // Infowindow
draggable: true, // Por defecto es false
visible: false // Por defecto es true
},
'ORAN' : {
lat: 35.6980,
lng: -0.6329
},
12: { // Clave numérica
pin: 'blue',
lat: 43.257206,
lng: -2.923763
}
};
// France main cities
var france_cities = {
paris: {
lat: 48.8601,
lng: 2.3402,
iw: 'Paris, population: 2107700'
},
marseille: {
lat: 43.3103,
lng: 5.3704,
iw: 'Marseille, population: 826300'
},
lyon: {
lat: 45.7605,
lng: 4.8306,
iw: 'Lyon, population: 443600'
},
//...