1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function createMarker(latlng, name, address, id) { // var html = '<div style="width:275px;"><b>' + name + '</b> <br/>' + address + '</div>'; var marker = new google.maps.Marker ({ map: map, position: latlng }); google.maps.event.addListener(marker, 'click', function() { $.ajax({ url: '/test/ajax?name=' + name + '&id=' + id, success: function(data) { var str = '<div class="infobox-wrapper"><div id="infobox">' + data + '</div></div>'; // alert(str); infoWindow.setContent(str); // verwijderd styling, laat NIETS zien. infoWindow.setContent(data); // verwijderd content laat styling zien. //$('#infobox-content').text(data); // doet zelfde als bovenstaand //$('#infobox-content').innerHTML = data; // same o same. infoWindow.open(map, marker); } }); }); markers.push(marker); } |
is alleen een beetje lastig met fluid design > procentenquote:Op zondag 24 maart 2013 00:04 schreef boem-dikkie het volgende:
[..]
Sowieso nooit meer dan 64, daar kun je natuurlijk op letten.
Nee at is het probleem niet, zal eens proberen om ook de opmaak via ajax te versturen en kijken of ik dan de stijl kan behouden maar lijkt me sterkquote:Op zondag 24 maart 2013 11:24 schreef Devv het volgende:
Wat krijg je terug in data? Misschien zitten daar karakters in die de opmaak kapot maken.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.-edit 3-
En een ander, want nu wordt deze functie automatisch getriggerd als ik map.fitBounds doehoe zorg ik er voor dat wanneer ik map.fitBounds aanroep de zoom functie niet alsnog getriggerd wordt?
1
2
3
4google.maps.event.addListener(map, 'zoom_changed', function()
{
BoundBasedMarkers(map)
});
Als ik nu een adres laad via een zoek functie, wordt map.fitBounds gebruikt om de map goed te positioneren, echter wordt direct daarna binnen de bounds nog een oproep gedaan om de markers te in te lezen, dus dubbel....
opgelost:SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Ik leer het allemaal nog wel en nu kijken hoe ik die OMS er dynamisch in kan zetten
[ Bericht 26% gewijzigd door Chandler op 25-03-2013 14:19:00 ]Just say hi!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | var map, json; // markers = []; var infoWindow; var zoomIgnore = false; function load() { map = new google.maps.Map(document.getElementById("map"), { center: new google.maps.LatLng(40, -100), zoom: 4, maxZoom: 11, mapTypeId: 'roadmap', mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}, scrollwheel: false }); // infoWindow = new google.maps.InfoWindow(); infoWindow = new InfoBox({ content: $("#infobox"), disableAutoPan: false, pixelOffset: new google.maps.Size(-140, 0), zIndex: null, boxStyle: { background: "url('http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/tipbox.gif') no-repeat", opacity: 0.75 }, closeBoxMargin: "12px 4px 2px 2px", closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif", infoBoxClearance: new google.maps.Size(1, 1) }); /* functions to enable reload after zooman drag */ google.maps.event.addListener(map, 'dragend', function() { BoundBasedMarkers(map); }); google.maps.event.addListener(map, 'zoom_changed', function() { if (zoomIgnore) { return false; } BoundBasedMarkers(map); }); } function BoundBasedMarkers(map) { var searchUrl = '/test/script?' + 'SW_LAT=' + map.getBounds().getSouthWest().lat() + '&SW_LNG=' + map.getBounds().getSouthWest().lng() + '&NE_LAT=' + map.getBounds().getNorthEast().lat() + '&NE_LNG=' + map.getBounds().getNorthEast().lng(); $.ajax({ url: searchUrl, error: function() { alert('Er is geen data gevonden worden binnen gegeven coordinaten'); }, dataType: "json", success: function (json) { var bounds = new google.maps.LatLngBounds(); for (var i = 0, length = json.length; i < length; i++) { var data = json[i]; var latLng = new google.maps.LatLng(data.lat, data.lng); createMarker(latLng, data.id, data.name); bounds.extend(latLng); } createList(); } }); } function searchLocations() { var address = $("#addressInput").val(); var geocoder = new google.maps.Geocoder(); geocoder.geocode({address: address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var center = results[0].geometry.location; var radius = $('#radiusSelect').val(); var searchUrl = '/test/script?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius; $.ajax({ url: searchUrl, dataType: "json", error: function() { alert('Er is geen data gevonden worden met opgegeven lokatie'); }, success: function (json) { zoomIgnore = true; var bounds = new google.maps.LatLngBounds(); for (var i = 0, length = json.length; i < length; i++) { var data = json[i]; var latLng = new google.maps.LatLng(data.lat, data.lng); createMarker(latLng, data.id, data.name); bounds.extend(latLng); } map.fitBounds(bounds); zoomIgnore = false; createList(); } }); } else { alert(address + ' not found'); } }); } function createMarker(latlng, id, name) { var marker = new google.maps.Marker({ map: map, position: latlng }); google.maps.event.addListener(marker, 'click', function() { $.ajax({ url: '/test/ajax?name=' + name + '&id=' + id, success: function(data) { infoWindow.setContent('<div class="infobox-wrapper"><div id="infobox" style="display: block;">' + data + '</div></div>'); infoWindow.open(map, marker); map.setCenter(marker.getPosition()); } }); }); // markers.push(marker); } function createList() { console.log('createlist'); if (typeof json !== 'undefined') { for (var i = 0, length = json.length; i < length; i++) { var data = json[i]; $('#list').append('<div id="addresslist"><h2>' + data.name + '</h2><p>' + data.address + '</p></div>'); } } } //]]> |
Ik dacht dat doordat ik var json; in het begin van het script heb gezet, deze array overal te benaderen was... maar daar zit ik dus fout mee? hoe kan ik wel zorgen dat deze data overal beschikbaar is?quote:Op donderdag 28 maart 2013 08:18 schreef Catch22- het volgende:
Je moet de jsondata wel meegeven natuurlijk
Je definieert hem als lege variabel, waar stop je er data in?quote:Op donderdag 28 maart 2013 08:59 schreef Chandler het volgende:
[..]
Ik dacht dat doordat ik var json; in het begin van het script heb gezet, deze array overal te benaderen was... maar daar zit ik dus fout mee? hoe kan ik wel zorgen dat deze data overal beschikbaar is?
Nooit zulke globale variabelen op deze manier gebruiken! Altijd gewoon meegeven aan de methode die er wat mee doet. Anders krijg je gedonderquote:Op donderdag 28 maart 2013 08:59 schreef Chandler het volgende:
[..]
Ik dacht dat doordat ik var json; in het begin van het script heb gezet, deze array overal te benaderen was... maar daar zit ik dus fout mee? hoe kan ik wel zorgen dat deze data overal beschikbaar is?
Dat is omdat er 1 maar 1 map object is, die 1x wordt geset. Die JSon wordt met elke call mogelijk aangepast en dan ga je rare dingen krijgen. Ik gebruik zelf eigenlijk nooit globale (window) variabelen in mijn javascript.quote:Op donderdag 28 maart 2013 11:21 schreef Chandler het volgende:
@KomtTijd; in de functies searchLocations() en BoundBasedMarkers(map) kijk maar eens goed, daar wordt deze functie ook aangeroepen!
@Catch22; je zult ongetwijfeld gelijk hebben hoor, maar map wordt ook op zo'n manier gebruikt en dat werkt wel dus vraag mij af waarom dit dan niet werkt... (wil het fijne er eigenlijk van weten..)
In Javascript kunnen globale en lokale variabelen dezelfde naam hebben. Het is niet zo dat je de globale variabele "json" bijwerkt op het moment dat je een lokale variabele vult met dezelfde naam.quote:Op donderdag 28 maart 2013 11:21 schreef Chandler het volgende:
@KomtTijd; in de functies searchLocations() en BoundBasedMarkers(map) kijk maar eens goed, daar wordt deze functie ook aangeroepen!
1 | function (json) |
Nee, de ajax-functie geeft de data die terugkomt van de server mee in een variabele die json heet. Dit heeft niets te maken met de globale variabele in jouw code die ook json heet.quote:Op donderdag 28 maart 2013 11:46 schreef Chandler het volgende:
dus ook in de $.ajax functie niet? daar geef ik toch de parameter json mee?
[ code verwijderd ]
Nee.quote:Op donderdag 28 maart 2013 11:46 schreef Chandler het volgende:
dus ook in de $.ajax functie niet? daar geef ik toch de parameter json mee?
[ code verwijderd ]
Dan zal ik mij daar ook maar aan houden, wil eigenlijk bovenstaande functies zo gaan maken dat ze op welke map dan maar ook te gebruiken zijn... heb nog een hoop te doen!quote:Op donderdag 28 maart 2013 11:44 schreef Catch22- het volgende:
Dat is omdat er 1 maar 1 map object is, die 1x wordt geset. Die JSon wordt met elke call mogelijk aangepast en dan ga je rare dingen krijgen. Ik gebruik zelf eigenlijk nooit globale (window) variabelen in mijn javascript.
En waarom niet? please tell mequote:
Duidelijk!quote:Op donderdag 28 maart 2013 11:47 schreef Tijn het volgende:
Nee, de ajax-functie geeft de data die terugkomt van de server mee in een variabele die json heet. Dit heeft niets te maken met de globale variabele in jouw code die ook json heet.
http://yuiblog.com/crockford/quote:Op donderdag 28 maart 2013 11:21 schreef Chandler het volgende:
(wil het fijne er eigenlijk van weten..)
Staat al in de success functionquote:Op donderdag 28 maart 2013 11:51 schreef KomtTijd... het volgende:
Wat Tijn zegt. En dan nog zou het niet werken omdat de functie aanroep niet wacht op de json response. Die moet je op zijn minst verplaatsen naar de success function.
Haha... mobiele fok is een stuk minder snel (met typen..)quote:Op donderdag 28 maart 2013 11:54 schreef KomtTijd... het volgende:
oh jullie waren al wat verder. zit op mobiel
...of 137 regels code doorspitten, tor that matter...quote:Op donderdag 28 maart 2013 11:55 schreef Chandler het volgende:
[..]
Haha... mobiele fok is een stuk minder snel (met typen..)
Haha dat ook ja! al is dat een stuk gemakkelijker dan typen (mijn mening)quote:Op donderdag 28 maart 2013 12:04 schreef KomtTijd... het volgende:
[..]
...of 137 regels code doorspitten, tor that matter...
Zo simpel. Ik dacht dat die loop oneindig bleef doorlopen en dat jQuery geen animaties kan toepassen op classes die aangemaakt worden door jQuery zelf.quote:
Zo voelt het soms wel ja. Deze site: http://css-tricks.com/ heeft me wel vaak uit de brand geholpen.quote:
Begonnen op mijn 13/14e als hobbyist en doe nu een Informatica opleiding en werk voor een groothandel in mobiele telefonie.quote:Op zaterdag 30 maart 2013 03:42 schreef pascal08 het volgende:
Zijn de meeste van jullie werkzaam in de ICT-branche of zijn jullie, net als ik, gewoon hobbyisten? Ik ben nu ongeveer een half jaar geleden begonnen met het leren van programmeren en het bouwen van websites en ik begin het steeds leuker te vinden. Vooral omdat ik nu de basis van zowel HTML, JS, PHP en CSS snap en ik daarmee al behoorlijk wel leuke dingen kan maken.
Ik heb geen ervaring met NodeJS, maar sinds een aantal weken wel enige ervaring met AngularJS. Ik vind het erg geschikt voor MVC. En het werkt ook erg fijn vanwege de mogelijkheid om modulair te ontwikkelen. Ik gebruik het samen met RequireJS om modules on-demand te laden. Dat gezegd hebbende, weet ik niet of het in AngularJS mogelijk is om een verbinding met een database op te zetten. Je kunt natuurlijk altijd pollen of een implementatie van WebSocket gebruiken om je model te verwittigen.quote:Op zaterdag 30 maart 2013 09:05 schreef TwenteFC het volgende:
[..]
Heeft iemand hier ervaring met AngularJS? Ik wil deze namelijk laten luisteren naar een NodeJS backendend en data constant laten refreshen wanneer het in de db veranderd.
Is Angular daar geschikt voor?
Programmeren is mijn beroep (all-round). Ik verdien dus geld met mijn hobby .quote:Op zaterdag 30 maart 2013 03:42 schreef pascal08 het volgende:
Zijn de meeste van jullie werkzaam in de ICT-branche of zijn jullie, net als ik, gewoon hobbyisten?
Ik zou met Node gewoon een rest-api kunnen opzetten natuurlijk, waar AngularJS vervolgens de data van ophaalt/stuurt? Maar AngularJS heeft dus wel een mogelijkheid om constant te pollen naar een server bijv?quote:Op zaterdag 30 maart 2013 10:42 schreef Devv het volgende:
[..]
Ik heb geen ervaring met NodeJS, maar sinds een aantal weken wel enige ervaring met AngularJS. Ik vind het erg geschikt voor MVC. En het werkt ook erg fijn vanwege de mogelijkheid om modulair te ontwikkelen. Ik gebruik het samen met RequireJS om modules on-demand te laden. Dat gezegd hebbende, weet ik niet of het in AngularJS mogelijk is om een verbinding met een database op te zetten. Je kunt natuurlijk altijd pollen of een implementatie van WebSocket gebruiken om je model te verwittigen.
[..]
Programmeren is mijn beroep (all-round). Ik verdien dus geld met mijn hobby .
Ik weet niet of dit onderdeel van de API is (werken met REST sowieso wel), maar je kunt altijd pollen. Je moet alleen zelf even zoeken op pollen in AngularJS, want dat heb ik nog niet gebruikt.quote:Op zaterdag 30 maart 2013 10:51 schreef TwenteFC het volgende:
[..]
Ik zou met Node gewoon een rest-api kunnen opzetten natuurlijk, waar AngularJS vervolgens de data van ophaalt/stuurt? Maar AngularJS heeft dus wel een mogelijkheid om constant te pollen naar een server bijv?
Ik ben 15 jaar geleden begonnen als hobbyist, maar sinds een jaar of 3 is het maken van websites en -applicaties m'n beroep.quote:Op zaterdag 30 maart 2013 03:42 schreef pascal08 het volgende:
Zijn de meeste van jullie werkzaam in de ICT-branche of zijn jullie, net als ik, gewoon hobbyisten? Ik ben nu ongeveer een half jaar geleden begonnen met het leren van programmeren en het bouwen van websites en ik begin het steeds leuker te vinden. Vooral omdat ik nu de basis van zowel HTML, JS, PHP en CSS snap en ik daarmee al behoorlijk wel leuke dingen kan maken.
Je moet ook nooit zeggen dat je dat kan tenzij dat daadwerkelijk je baan isquote:Op zaterdag 30 maart 2013 15:26 schreef Tijn het volgende:
Voordat ik me 3 jaar geleden full-time op webdevelopment heb gestort heb ik diverse baantjes bij diverse bedrijven gehad en altijd en overal waar ik zat, welke functie ik ook bekleedde, ik kon altijd wel een website voor het een of ander maken
Ik vond het juist altijd wel leuk, hoor. Ook tijdens m'n studie heb ik trouwens diverse websites gemaakt. Ik heb er onwijs veel van geleerd voordat ik het "voor het echie" ging doen.quote:Op zaterdag 30 maart 2013 15:28 schreef TwyLight het volgende:
[..]
Je moet ook nooit zeggen dat je dat kan tenzij dat daadwerkelijk je baan is
Jij bent dus de kerel die altijd naar mensen toegaat om te vertellen dat ze er een pixel naast zitten?quote:Op zaterdag 30 maart 2013 15:13 schreef Catch22- het volgende:
Ik ben 3,5 jaar back en frontenddev geweest, nu alweer twee jaar frontenddev en interaction designer sinds een jaar.
Daarnaast doe ik wat projectmanagement intern en bewaak ik altijd de usability
Ach ik zie, tenminste eigen ervaring bekeken dat veel bedrijven het belangrijker vinden wat je doet en wat het niveau is dan een papiertje die zegt 'webontwikkelaar (of wat dan ook)'. Het papiertje is daarnaast natuurlijk wel een bewijs voor bijvoorbeeld HBO denkniveau e.d.quote:Op zaterdag 30 maart 2013 15:22 schreef pascal08 het volgende:
Allemaal professionals dus. Het is dat ik al een studierichting heb gekozen wat niets met ICT te maken heeft, anders had ik waarschijnlijk ook die kant op gegaan. Ach, misschien valt er nog het een en ander te combineren straks.
Enige reden waarom ik nu hbo doe is voor dat papiertje ja, heb nu toevallig ook een semester dat over web gaat. Cijfers tot nu toe: 9.8, 9, 8.1, 9.6.quote:Op zaterdag 30 maart 2013 15:55 schreef boem-dikkie het volgende:
[..]
Ach ik zie, tenminste eigen ervaring bekeken dat veel bedrijven het belangrijker vinden wat je doet en wat het niveau is dan een papiertje die zegt 'webontwikkelaar (of wat dan ook)'. Het papiertje is daarnaast natuurlijk wel een bewijs voor bijvoorbeeld HBO denkniveau e.d.
Dus als je goed bent in wat je doet dan kun je zonder papiertje ook wel aan werk komen.
Ik werk nu 7 jaar als front-end (en in mindere mate backend) developer. Ben doorgegroeid naar lead developer nu, stuur 2 anderen aan, doe architectuur en functioneel ontwerp en wat project management.quote:Op zaterdag 30 maart 2013 03:42 schreef pascal08 het volgende:
Zijn de meeste van jullie werkzaam in de ICT-branche of zijn jullie, net als ik, gewoon hobbyisten? Ik ben nu ongeveer een half jaar geleden begonnen met het leren van programmeren en het bouwen van websites en ik begin het steeds leuker te vinden. Vooral omdat ik nu de basis van zowel HTML, JS, PHP en CSS snap en ik daarmee al behoorlijk wel leuke dingen kan maken.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |