Google Maps JavaScript API Markersben fotó elhelyezés
Az egyik weboldalamon szeretnék egy google mapsban megjelentetni ikonokkal helyeket.Ez meg is történt és működik. Az ikonra ha rámegyek megjelenik egy buborék szöveggel, amit a sripteb rögzítek a title: sorban. Ide szeretnék a helyhez köthető fotót berakni, ami szintén a buborékban jelenne meg.
Sajnos erre nem találtam érdemi választ a google-ben.
Így néz ki a kód sorom:
Ha lenne segítség megköszönném.
■ Sajnos erre nem találtam érdemi választ a google-ben.
Így néz ki a kód sorom:
//Marker strand 3 létrehozása
var image = 'img/icons/beach.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.888452, 17.955956),
map: map,
title: "Klapka uti strand",
icon : image
});
//Marker strand 4 létrehozása
var image = 'img/icons/beach.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.889417, 17.960972),
map: map,
title: "Táncsics uti strand",
icon : image
});
var image = 'img/icons/beach.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.888452, 17.955956),
map: map,
title: "Klapka uti strand",
icon : image
});
//Marker strand 4 létrehozása
var image = 'img/icons/beach.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.889417, 17.960972),
map: map,
title: "Táncsics uti strand",
icon : image
});
Ha lenne segítség megköszönném.
InfoWindow?
Hozz létre egyet, majd amikor a markerre kattintanak, meg tudod nyitni. Az InfoWindow tartalmaként megadhatsz HTML sztringet vagy DOM node-ot.
InfoWindow beépités
Köszönöm a segítséget.
InfoWindow beépítés hiba
Ezen tudunk még változtatni?
Röviden: minden bizonnyal
Hosszan: ha nem mutatod meg, hogy pontosan mit csinálsz, akkor sem én, sem más nem fog tudni segíteni, mert nem vagyunk gondolatolvasók. A fenti kód (vagy legalábbis azzal analóg) nálam működik az elvárások szerint.
Szóval mutass kódot, és akkor valaki majd észreveszi, hogy mi nincs rendben.
InfoWindow rossz megjelenése
//Koordináta meghatározása (középpont)
var LatLong = new google.maps.LatLng(46.884896, 17.942633);
//Térkép opciók
var mapOptions = {
center: LatLong,
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
//Térkép létrehozása
var map = new google.maps.Map(
document.getElementById("map"),
mapOptions
);
//Marker létrehozása
var image = 'img/icons/apartment.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.874190, 17.945323),
map: map,
title: "Ilona Apartmanház",
icon : image,
});
var contentString = '<p><b>Ilona Apartmanház</b></p><br><img src="img/info/apartmanhaz.jpg" alt="Ilona apartmanház" width="120" height="90"/>';
var infoWindow = new google.maps.InfoWindow({
content: contentString,
});
marker.addListener('click', function() {
infoWindow.open(map, marker);
});
//Marker szántodi komp létrehozása
var image = 'img/icons/ferry.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.879665, 17.900670),
map: map,
title: "Szántódi komp kikötő",
icon : image
});
var contentString = '<p><b>Szántódi kompok </b></p><img src="img/info/kompok.jpg" alt="Szántódi komp" width="120" height="90"/>';
var infoWindow = new google.maps.InfoWindow({
content: contentString,
});
marker.addListener('click', function() {
infoWindow.open(map, marker);
});
//Marker strand 1 létrehozása
var image = 'img/icons/beach.png';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.883218, 17.918339),
map: map,
title: "Keszeg úti strand",
icon : image
});
var contentString = '<p><b>Keszeg úti szabadsdrand </b></p><img src="img/info/strand-1.jpg" alt="Keszeg úti strand" width="120" height="90"/>,<br> GPS:46.883218, 17.918339';
var infoWindow = new google.maps.InfoWindow({
content: contentString,
});
marker.addListener('click', function() {
infoWindow.open(map, marker);
});
//Marker strand 2 létrehozása
Itt az oldal
A megoldás szempontjából
initialize
függvény végére érsz, már az utolsóként létrehozott markert és infoWindowt fogják tartalmazni, és a closure-nek nevezett -egyébként nagyon hasznos: 1, 2, 3- dolog miatt az összes eseménykezelőd ezeket az értékeket fogja látni, és bármelyik markerre kattintasz, az utolsó markernél fog megjelenni az utolsó infoWindow.A legalapabb megoldás valami ilyesmi lenne (ki nem próbáltam, lehet, hogy van benne valahol hiba, a lényeg a rendezési elv):
Egyébként változókat sem szerencsés újradeklarálni, szóval egy scope-ban csak egy "
var marker = ...;
" legyen például.Működik