Hola un saludo a toda la comunidad.
Dando continuidad al presente curso de Angular 4 quise retomar algunos comentarios como reto personal y seguir con esta línea de tutoriales básicos introductorios a este gran Framework.
Esta vez quise intentar cambiar el aspecto del actual marcador que ofrece por defecto en los mapas de Google y agregar un color cualquiera. También, quise agregar cerca al marcador un texto que de momento en este Tutoríal lo dejaré estático, o como se conoce tradicionalmente en la jerga de programadores: “código quemado, hardcodeado”; Además de ello, con un color específico.
Me concentraré entonces en estos 3 requerimientos (agregar texto al marcador, agregar color al texto agregado, Cambiar aspecto del icono del marcador). Así que pues a ello! inicio con los pasos 1 y 2 ya que van definidos en el mismo objeto.
NOTA: es importante aclarar que se está modificando un fragmento de código dando seguimiento al curso de Angular 4. Así que evitaré temas de como crear desde cero un proyecto en Angular y la creación de sus componentes, servicios, etc.
1 ). Agregar texto al marcador que hace parte del tag: <agp-map>…</agp-map>
// pasos 1 y 2 ya que se define texto y colorexport class LugaresComponent{
// declaraciones
labelOptions = {
color: '#ee4646',
fontFamily: '',
fontSize: '10px',
fontWeight: 'bold',
letterSpacing:'0.5px',
text: 'Plan Pagado/No pagado'
}
// ... más definiciones y resto del cuerpo del Typescript (constructor y métodos).
}
[latitude]="lat"[longitude]="lng"[zoom]="7">
[label]="labelOptions"
*ngFor="let lugar of lugares"[latitude]="lugar.lat"[longitude]="lugar.lng">
agm-marker>
agm-map>
3 ). Cambiar el aspecto del marcador de Google Maps
[latitude]="lat"[longitude]="lng"[zoom]="7">
[label]="labelOptions"[iconUrl]="iconMap.iconUrl"
*ngFor="let lugar of lugares"[latitude]="lugar.lat"[longitude]="lugar.lng">
agm-marker>
agm-map>
Una captura de pantalla indicando el Bindeo que se hace mediante la directiva [iconUrl] y asignando la propiedad “IconUrl” del objeto: “iconMap” solo en el HTML sería:
Ahora tenemos que abrir el fichero Typescript asociado a lugares: “lugares.component.ts” y procedemos a definir este objeto en formato JSON o como más gusten llamarlo:
[iconAnchorX]="10"[iconAnchorY]="10"[iconHeight]="20"[iconWidth]="20"
Se marca un error como señalo en la siguiente captura de pantalla:
ng serve
Como reto a este Tutorial los invito a intentar ajustar el tamaño del Icono asociado al marcador de cada lugar sin tener que reducir el tamaño de dicho Icono desde un editor de imágenes.
Saludos.
¡¡Buen tutorial!!, tengo un problema. Al parecer tras las actualizaciones ya no funcionan [iconAnchorX] [iconAnchorY], de que otra manera crees que podría posicionar mi icono? o al menos el label?