Google maps API probléma
Sziasztok!
Remélem, nem raktam rossz helyre a kérdésem.
Összedobtam egy kódot, aminek a lényege, hogy egy javascript függvényt meghívva, az betölti a kódot egy felugró ablakba. Off-line indítva a dolgot minden rendben van, szépen bejön a térkép, hibajelzés nincs. Ami fura, hogy csak IE alatt működik, FF alatt változó hibaüzeneteket ad. Ha feltöltöm a szerverre, akkor teljes a csőd. IE alatt ez a hibaüzenet: "GMap2 is undefined"
■ Remélem, nem raktam rossz helyre a kérdésem.
Összedobtam egy kódot, aminek a lényege, hogy egy javascript függvényt meghívva, az betölti a kódot egy felugró ablakba. Off-line indítva a dolgot minden rendben van, szépen bejön a térkép, hibajelzés nincs. Ami fura, hogy csak IE alatt működik, FF alatt változó hibaüzeneteket ad. Ha feltöltöm a szerverre, akkor teljes a csőd. IE alatt ez a hibaüzenet: "GMap2 is undefined"
function terkep(x,y){
o='toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0,scrollbars=0,width=650,height=650';
wd=window.open("","",o);
wd.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'+
'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu">'+
'<head>'+
'<meta http-equiv="content-type" content="text/html; charset=utf-8"/>'+
'<title>Google Maps</title>'+
'<script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAe_BFfTavDl8l_OezWaTQZhTmu_R15qLW_Sgfr0SyViKJuwyS0RS4psLtCX9DO-9R-Kp_STwVxACNtg" type="text/javascript"></script>'+
'<script type="text/javascript">'+
'window.moveTo((screen.width-650)/2,(screen.height-650)/2);'+
'var map; var geocoder;'+
'function load() {'+
'if (GBrowserIsCompatible()) {'+
'map = new GMap2(document.getElementById("map"));'+
'var point = new GLatLng('+x+','+y+');'+
'map.setCenter(point, 11);'+
'map.addOverlay(new GMarker(point));'+
'map.addControl(new GLargeMapControl());'+
'geocoder = new GClientGeocoder();'+
'}}'+
'function addAddressToMap(response) {'+
'map.clearOverlays();'+
'if (!response || response.Status.code != 200) {alert("Elnézést, de a cím nem létezik, vagy nem található.");} '+
'else {'+
'place = response.Placemark[0];'+
'point = new GLatLng(place.Point.coordinates[1],'+
'place.Point.coordinates[0]);'+
'marker = new GMarker(point);'+
'map.addOverlay(marker);'+
'marker.openInfoWindowHtml(place.address+"<br>"+place.Point.coordinates[1]+", "+place.Point.coordinates[0]);'+
'}'+
'}'+
'function showLocation() {var address = document.forms[0].q.value;geocoder.getLocations(address, addAddressToMap);}'+
'function findLocation(address) {document.forms[0].q.value = address;showLocation();}'+
'</script>'+
'<style type="text/css">'+
'body{margin:5px;padding:0px}'+
'.gomb{font:11px arial;width:65px;}'+
'.mez{font:11px arial;}'+
'</style>'+
'</head>'+
'<body onload="load()" onunload="GUnload()">'+
'<div id="map" style="width:640px;height:610px"></div>'+
'<form style="margin:0px" action="#" onsubmit="showLocation(); return false;">'+
'<div align="center" style="margin-top:7px;font:11px arial">a keresett cím: '+
'<input type="text" name="q" value="" class="mez" size="40" /> '+
'<input class="gomb" type="submit" name="find" value="keresés" />'+
'</div>'+
'</form>'+
:)
nem értem
Off-line indítás esetén 2 különböző kulccsal is ment a dolog.
idáig jutottam
Ha nem document.write-tal töltöm be az ablak tartalmát, hanem window.open-nel csinálom, akkor minden OK.
De mivel egy változónak szeretnék mindig más-más értéket adni, ezért a window.open nem jöhet szóba.
Lezáró html tagek
megvéd
Üdv,
Felhő
helyzet változatlan
Úgy tűnik, hogy a head-ben levő hosszú szkript sornál (ami a key-t is tartalmazza) akad el a dolog.
itt valami bűzlik
Akkor összegezzük a helyzetet. Azt hiszem mondhatjuk, hogy egy viszonylag nem túl bonyolult problémára ennyi okos ember nem talált (vagy nem akart, mert ez is benne van a pakliban) megoldást. Akkor még is a Google háza táján bűzlik valami? Nem tudom, nem is tisztem eldönteni. Minden esetre az is furcsa, hogy az egyetlen segítő szándékú válaszoló is olyan trükköket javasolt, hogy eszképeljek. Na amikor már ilyen tanácsokat kap az ember, ott már nagy a baj. Az IE hackkekről, meg egyéb nyalánkságokról már nem is beszélve.
Én nem azt mondom, hogy csak hibátlan kód kerülhet ki az ember keze alól, de ami jelenleg a számítástechnikában van, azt jóindulattal is csak kuplerájnak lehet nevezni. És ezt jószándékkal mondom.
Google Maps
Bűzlik bizony
Mintha ez arra utalna, hogy a javascriptedben tolsz el valamit és nem a google maps api a rossz... Próbáltad már debugolni? Firefox-hoz nagyon jó hibakeresési eszközök vannak, egyet mondok: FireBug.
IE7 kussol
Akkor most melyik a sz@r, az IE vagy a FF? Ha engem kérdeztek, akkor mindkettő :))
zila ! Különben ott a kód fent (igaz, az alja lemaradt, biztos ott a hiba), egyszerű megtalálni a hibát. :))
Na ne haragudj...
nem
Egyébiránt nem akartam zilára rakni semmit. Szusszanok egyet aztán debuggolok.
Ne másban keresd a hibát
Másrészről:
Kicsit furcsának tartom, hogy mindenben keresed a hibát (sőt, gyűjtőfórumot indítanál a sok bugos programnak) kivéve a saját kódodban. Elsőként ugye: szar a google api (biztos nem hibátlan, de hogy szar?), most már ott tartasz, hogy szar az IE is meg a Firefox-is. Nyilván. De ebben a konkrét esetben szinte biztos, hogy a te kódod rejti a bugot. Annál is inkább, mert javascrpt nélkül működik, te magad mondtad. Betetted egy függvénybe és nem működik. A másik topikban is azért javasoltam, hogy elsőként a saját portánkon sepregessünk. Én mindig úgy állok a dologhoz, ha valami nem megy az általam írt kódban, hogy biztosan én hibáztam, ez az esetek 99.999% százalékában bebizonyosodik. A maradék esetben valóban valaki más hibázott. :)
köszi
A francba, ilyenkor reggel gépfegyverkezű vagyok, úgyhogy vigyázzatok. :-)
próba
Akkor ide feltettem a dolgot.
Előre is köszönöm, hogy bíbelődsz vele.
köszönet
az alábbi, paraméterezett módon kell meghívni azt a fájlt, ami a térképet megjeleníti (ahol x és y a két koordináta):
Azért az API-val is gond lehet...
Azért az API-val is gond lehet... Egy ehhez hasonló térképes alkalmazáson dolgozom:
www.hotspotter.hu
Megigényeltem a kódot, beraktam, feltöltöttem. Nézem Firefox-szal: oké. Nézem IE7-tel: semmi. Hibaüzenet mint fent ("GMap2 is undefined"). Gyanút fogtam, és megnéztem IE-vel a Hotspotter-t is. Nem megy. Sima térképet már raktam be így korábban egy másik oldalba, akkor teszteltem, ment mind a két nagy böngésző alatt. Most az se megy IE7-en. Ciki.
És akkor most?
Üdv,
Fedor
Ez a legkönnyebb
Ez is egy érdekes thread:
http://groups.google.kg/group/Google-Maps-API/browse_thread/thread/1f7816f0d177e229
Google:
http://www.google.com/search?client=safari&rls=en-us&q=google+maps+api+ie7+GMap2+is+not+defined&ie=UTF-8&oe=UTF-8
Nem kényelemből...
Amúgy megnéztem a maps.google.com-ot: az se megy az IE7 alatt. Azért ezt nehezen lehetne rám fogni :-)
update
Körülnéztem pár oldalon, semmilyen beépített Google térkép nem müxik IE alatt. Lehet, hogy a böngésző a hunyó? A verziószáma: 7.05730.11
UPDATE 2.:
Frissítettem az Explorert. A maps.google.com/ már bejön, De az API-val foglalkozó Google aloldalba (code.google.com/apis/maps/), vagy más egyéb oldalba illesztett térképek már nem, és ugyanez a helyzet az Operával is, más gépen is. Oké, hogy nagyon sokan használnak Firefoxot (én is, ezért nem tűnt ez fel idáig), de azért...
Megjavultak