anoniem Geplaatst: 20 november 2006 Delen Geplaatst: 20 november 2006 Om Google Maps te kunnen gebruiken heb je o.a. coördinaten nodig. Die heb ik in een stukje java script staan. Maar nu wil ik die coördinaten in een database stoppen en ze vervolgens uitlezen met asp.net 2.0 en C#. Daarom moeten de coördinaten die ik dan inlees in variabelen of Sessions doorgeven naar dat stukje java script. Maar hoe doe ik dat? Dit de code voor het java script [code:1:f9a6912db2] <script type="text/javascript"> //<![CDATA[ function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(Session["b"], Session["l"]), 17); map.addOverlay(new GMarker(new GLatLng(Session["b"], Session["l"]))); } } //]]> </script> [/code:1:f9a6912db2] Waar nu Session["b"], e.d. staat, staan normaal gesproken de coördinaten. Maar ik heb dus geen verstand van java script dus ik weet niet hoe dit precies te doen.... Quote Link naar reactie
anoniem Geplaatst: 20 november 2006 Auteur Delen Geplaatst: 20 november 2006 Kun je niet gewoon de ASP.NET code die deze pagina maakt ook de javascript laten genereren waarin je dan de variabelen meteen zet? Of denk ik nu weer eens te simpel? Quote Link naar reactie
anoniem Geplaatst: 20 november 2006 Auteur Delen Geplaatst: 20 november 2006 Nou, of je te simpel denkt dat weet ik niet. Maar het gaat hier over Google Maps. De code krijg je van hen aangeleverd. Daar wil is dus asp omheen bouwen. Quote Link naar reactie
anoniem Geplaatst: 20 november 2006 Auteur Delen Geplaatst: 20 november 2006 Heb je misschien [url=http://www.ondotnet.com/pub/a/dotnet/2003/09/15/aspnet.html]hier[/url] wat aan? En volgens mij heeft [url=http://www.codeproject.com/aspnet/LatLaysFlat-Part1.asp]hier[/url] iemand ook al gedaan wat jij wil. Maar ik heb het maar even vluchtig gelezen, dus ik kan me vergissen. Quote Link naar reactie
anoniem Geplaatst: 21 november 2006 Auteur Delen Geplaatst: 21 november 2006 Hm, die tweede link had ik al bekeken maar daar had ik niets aan. iets duidelijker dan: ik heb dit als coördinaten in het stukje java script staan [code:1:c0e6b9068d]map.setCenter(new GLatLng(51.7170122263727, 5.36232590675354), 17); map.addOverlay(new GMarker(new GLatLng(51.7170122263727, 5.36232590675354)));[/code:1:c0e6b9068d] nu wil ik die getallen vervangen door een Session of een string, int of wat dan ook. Die vul ik met die getallen Dus laat ik zeggen: string [b:c0e6b9068d]lengte[/b:c0e6b9068d] = 51.7170122263727; string [b:c0e6b9068d]breedte [/b:c0e6b9068d]= 5.36232590675354 dan wordt het dus: [code:1:c0e6b9068d]map.setCenter(new GLatLng(lengte, breedte), 17); map.addOverlay(new GMarker(new GLatLng(lengte, breedte)));[/code:1:c0e6b9068d] Quote Link naar reactie
anoniem Geplaatst: 21 november 2006 Auteur Delen Geplaatst: 21 november 2006 ik heb het kunnen verbouwen naar: [code:1:e33d2953c2] var map = new GMap2(document.getElementById("map")); var lengte = 51.7170122263727; var breedte = 5.36232590675354; map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(lengte, breedte), 17); map.addOverlay(new GMarker(new GLatLng(lengte, breedte))[/code:1:e33d2953c2] Wellicht niet wereldschokkend maar voor mij weer een stap verder. Nu moet dus in var lengte = 51.7170122263727 niet 51.7170122263727 staan maar bijvoorbeeld var lengte =Session("lengte"); Die Session("lengte") vul ik ergens anders.... Voor de goede orde, als ik var lengte = Session("lengte") gebruik werkt het niet. Quote Link naar reactie
anoniem Geplaatst: 22 november 2006 Auteur Delen Geplaatst: 22 november 2006 Het was even puzzelen, maar met de hulp van een vriend ben ik er uit. Je moet gebruik maken van ClientScript.RegisterClientScriptBlock:[code:1:d379d9ab5d] protected void Page_Load(object sender, EventArgs e) { // dit moet je uiteraard vervangen ;-) Session["b"] = 5.36232590675354; Session["l"] = 51.7170122263727; // hier begint de echte code StringBuilder js = new StringBuilder(); js.AppendLine("//<![CDATA[ "); js.AppendLine("function load() {"); js.AppendLine("if (GBrowserIsCompatible()) {"); js.AppendLine("var map = new GMap2(document.getElementById(\"map\"));"); js.AppendLine("map.addControl(new GSmallMapControl());"); js.AppendLine("map.addControl(new GMapTypeControl());"); js.AppendLine("map.setCenter(new GLatLng(" + Session["b"].ToString().Replace(",",".") + ", " + Session["l"].ToString().Replace(",",".") + ", 17));"); js.AppendLine("map.addOverlay(new GMarker(new GLatLng(" + Session["b"].ToString().Replace(",",".") + ", " + Session["l"].ToString().Replace(",",".") + ")));"); js.AppendLine("}"); js.AppendLine("}"); js.AppendLine("//]]>"); // deze regel zorgt ervoor dat de functie load() wordt toegevoegd aan de html ClientScript.RegisterClientScriptBlock(GetType(),"load",js.ToString(),true); } [/code:1:d379d9ab5d] En in de html zorg je er voor dat de functie load() meteen na het laden wordt aangeroepen:[code:1:d379d9ab5d]<body onload="load();">[/code:1:d379d9ab5d] Quote Link naar reactie
anoniem Geplaatst: 22 november 2006 Auteur Delen Geplaatst: 22 november 2006 Ben direct maar even begonnen, maar ik denk dat er wat teveel dubbele aanhalingstekens in staan. Ga ik even voor zitten.. :wink: hmmm, geen foutmeldingen meer maar ook niets zichtbaar... ik vraag me ook af waarom je die Replace er in hebt staan? Quote Link naar reactie
anoniem Geplaatst: 23 november 2006 Auteur Delen Geplaatst: 23 november 2006 [quote:645e1b194b="Wiep Corbier"]Hmm, je hoort een kaart van 's-Hertogenbosch te krijgen :D[/quote:645e1b194b]Hmmm, lengte- en breedtegraden omwisselen levert inderdaad een meer herkenbaar plaatje op :o Quote Link naar reactie
anoniem Geplaatst: 23 november 2006 Auteur Delen Geplaatst: 23 november 2006 hahaha, die meneer Ed :lol: Maar, ik heb het voor elkaar. Yes! Een kwartier geleden is het me gelukt om er ook nog eens een database aan te koppelen. Nu moet ik alleen nog de bijbehorende adresgegevens in een ballon tonen maar dan netjes onder elkaar. Ik krijg ze nu nog alleen maar achter elkaar in die ballon. Jij een idee meneer Ed? Quote Link naar reactie
anoniem Geplaatst: 23 november 2006 Auteur Delen Geplaatst: 23 november 2006 [quote:63d92e14e6="Wiep Corbier"] Nu moet ik alleen nog de bijbehorende adresgegevens in een ballon tonen maar dan netjes onder elkaar. Ik krijg ze nu nog alleen maar achter elkaar in die ballon. Jij een idee meneer Ed?[/quote:63d92e14e6] Als de tekst via javascript wordt getoond, dan zou "\n" aan het einde van een regel moeten werken. Quote Link naar reactie
anoniem Geplaatst: 23 november 2006 Auteur Delen Geplaatst: 23 november 2006 [quote:8687793ef2="Wiep Corbier"]nu moet ik: string Voornaam = Request.QueryString["Voornaam"]; string ruimte = ", "; string Achternaam= Request.QueryString["Achternaam"]; eigenlijk onder elkaar zien te krijgen. [/quote:8687793ef2]Dus je wil dit: [code:1:8687793ef2]meneer , ed[/code:1:8687793ef2] ? Dan zal je ervoor moeten zorgen dat de newline (\n) ook in de javascript-functie terecht komt. Bijvoorbeeld door een StringBuilder object te gebruiken: [code:1:8687793ef2] StringBuilder sb = new StringBuilder; sb.AppendLine(Request.QueryString["Voornaam"] + "\\n"); sb.AppendLine(",\\n"); sb.AppendLine(Request.QueryString["Achternaam"] + "\\n"); [/code:1:8687793ef2]Of je kan het zo doen:[code:1:8687793ef2]String Voornaam = Request.QueryString["Voornaam"] + "\\n";[/code:1:8687793ef2] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen