jQuery Store Locator toont verkeerde afstand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »
Lei Cremers

Lei Cremers

17/10/2015 18:39:50
Quote Anchor link
Hi all,

Ik heb onderstaande JS-code toegepast ten behoeve van een store locator.
De store locator geeft een overzicht van shops op basis van reisafstand vanaf locatie.
Zie hier de link naar de demo-page: http://optimax.apphb.com/demo.html

Mijn vraag heeft betrekking op de foutieve weergave van de afstand.

Als je 'London' invoert in het zoekveld dan wordt bij de eerste hit '11 miles' weergegeven, waar dit 1.1 mile zou moeten zijn.
Bij lange afstanden treedt deze fout ook op. Bij een afstand boven de 1000 miles wordt deze door Google-maps weergeven als bijvoorbeeld 1,161 miles terwijl JS 1.161 mile genereert, alsof de afstand dus minder dan 2 mile zou zijn.

Mogelijk verduidelijkt onderstaande mijn vraag:

Voorbeeld A
Daadwerkelijke afstand: 1,1 mile
Notificatie Google: 1.1 mile
JS genereert foutief: 11 miles

Voorbeeld B
Daadwerkelijke afstand: 1161 miles
Notificatie Google: 1,161 miles
JS genereert foutief: 1.161
Gevolg: deze shop wordt als eerste weergeven (alsof de afstand minder dan 2 mile is) in de resultaten, terwijl deze pas achteraan genoemd zou moeten worden.

Wie zou mij kunnen helpen met de aanpassing in waarschijnlijk JS?
Indien aanvullende informatie nodig is hoor ik het graag.

Thanks!

Hieronder de JS-code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
(function ($) {
    $.fn.storeLocator = function (options) {

        var settings = $.extend({
            'mapDiv': 'map',
            'listDiv': 'list',
            'formID': 'user-location',
            'pinColor': 'fe7569',
            'startPinColor': '66bd4a',
            'pinTextColor': '000000',
            'storeLimit': 10,
            'distanceAlert': 60,
            'xmlLocation': 'data/stores.xml',
            'addressErrorMsg': 'Please enter valid UK address address or postcode',
            'googleDistanceMatrixDestinationLimit': 25,
            'defaultLat': 52.3038165,
            'defaultLng': -1.081117,
            'defaultLocationName': 'Northampton, United Kingdom'
        }, options);

        return this.each(function () {
            var $this = $(this);

            // global array of shop objects
            var _locationset = new Array();
            var geocoder;

            // Calculate distances from passed in origin to all locations in the [_locationset] array
            // using Google Maps Distance Matrix Service https://developers.google.com/maps/documentation/javascript/reference#DistanceMatrixService
            var GeoCodeCalc = {};
            GeoCodeCalc.CalcDistanceGoogle = function (origin, callback) {
                var destCoordArr = new Array();
                var subFunctionTokens = [];

                $.each(_locationset, function (ix, loc) {
                    destCoordArr.push(loc.LatLng);
                });

                for (var i = 0; i < destCoordArr.length; i = i + settings.googleDistanceMatrixDestinationLimit) { // Google Distance Matrix allows up to 25 destinations to be passed in
                    var tempArr = destCoordArr.slice(i, Math.min(i + settings.googleDistanceMatrixDestinationLimit));
                    subFunctionTokens.push(this.CallGoogleDistanceMatrix(i, origin, tempArr));
                }

                $.when.apply($, subFunctionTokens)
                      .then(function () {
                          callback(true);
                      });
            };

            GeoCodeCalc.CallGoogleDistanceMatrix = function (startIndex, origin, destinations) {
                var token = $.Deferred();
                var service = new google.maps.DistanceMatrixService();
                service.getDistanceMatrix(
                  {
                      origins: [origin],
                      destinations: destinations,
                      travelMode: google.maps.TravelMode.DRIVING,
                      unitSystem: google.maps.UnitSystem.METRIC
                  }, function (response, status) {
                      if (response && response.rows.length) {
                          var results = response.rows[0].elements;
                          $.each(results, function (j, val) {
                              if (results[j].status != "ZERO_RESULTS") {
                                  _locationset[startIndex + j].Distance = GoogleMapDistanceTextToNumber(results[j].distance.text);
                              }
                          });

                          token.resolve();
                      }
                  });

                return token.promise();
            };

            // Converts "123.45 mi" into 123.45
            function GoogleMapDistanceTextToNumber(str) {
                return Number(str.replace(/[^0-9.]/g, ""));
            }

            // removes Google Maps URL unfriendly chars from a string
            function formatGoogleMapUrlString(str) {
                return str.replace("&", "%26").replace(" ", "+");
            }

            //Geocode function for the origin location
            geocoder = new google.maps.Geocoder();
            function GoogleGeocode() {
                this.geocode = function (address, callbackFunction) {
                    geocoder.geocode({ 'address': address }, function (results, status) {
                        if (status == google.maps.GeocoderStatus.OK) {
                            var result = {};
                            result.latitude = results[0].geometry.location.lat();
                            result.longitude = results[0].geometry.location.lng();
                            result.formatted_address = results[0].formatted_address;
                            result.address_components = results[0].address_components;
                            callbackFunction(result);
                        } else {
                            handleError("Geocode was not successful for the following reason: " + status);
                            callbackFunction(null);
                        }
                    });
                };

                this.geocodeLatLng = function (LatLng, callbackFunction) {
                    geocoder.geocode({ 'location': LatLng }, function (results, status) {
                        if (status == google.maps.GeocoderStatus.OK && results.length) {
                            callbackFunction(results[0]);
                        } else {
                            handleError("Geocode was not successful for the following reason: " + status);
                            callbackFunction(null);
                        }
                    });
                };
            }

            //Process form input
            $(function () {
                $(document).on('submit', '#' + settings.formID, function (e) {
                    $("#lblError").html("");
                    //Stop the form submission
                    e.preventDefault();
                    //Get the user input and use it
                    var userinput = $('form').serialize();
                    userinput = userinput.replace("address=", "");
                    if (userinput == "") {
                        handleError(settings.addressErrorMsg);
                    }

                    var g = new GoogleGeocode();
                    var address = userinput;
                    g.geocode(address, function (data) {
                        if (data != null) {
                            showAddress(data);
                            mapping(data.latitude, data.longitude);
                        } else {
                            //Unable to geocode
                            handleError(settings.addressErrorMsg);
                        }
                    });

                    //Replace spaces in user input
                    userinput = formatGoogleMapUrlString(userinput);
                });
            });

            $(document).ready(function () {
                // Try HTML5 geolocation
                if (navigator.geolocation) {
                    navigator.geolocation.getCurrentPosition(function (position) {
                        //map.setCenter(pos);
                        var g = new GoogleGeocode();
                        var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

                        g.geocodeLatLng(latlng, function (address) {
                            if (address) {
                                showAddress(address);
                            } else {
                                //Unable to geocode
                                handleNoGeolocation('Error: Unable to geocode address');
                            }
                        });

                        // do the mapping stuff
                        mapping(position.coords.latitude, position.coords.longitude);

                    }, function () {
                        handleNoGeolocation("Tracking of location was not allowed.");
                    });
                } else {
                    // Browser doesn't support Geolocation
                    handleNoGeolocation(false);
                }
            });

            function showAddress(address) {
                $("#lblAddress").html(address.formatted_address);
                // find a postcode and show it in the address textbox
                $.each(address.address_components, function (i, val) {
                    if (val.types[0] == "postal_code") {
                        $("#address").val(val.short_name);
                        return false; // breaks the each() loop
                    }
                });
            }

            function handleNoGeolocation(error) {
                if (error) {
                    var content = error;
                } else {
                    var content = 'Error: Your browser doesn\'t support geolocation.';
                }

                handleError(content + " Using default location.");
                mapping(settings.defaultLat, settings.defaultLng);
                $("#lblAddress").html(settings.defaultLocationName);

            }

            function handleError(error) {
                $("#lblError").html(error);
            }

            //Now all the mapping stuff
            function mapping(orig_lat, orig_lng) {
                $(function () {
                    //Parse xml with jQuery
                    $.ajax({
                        type: "GET",
                        url: settings.xmlLocation,
                        dataType: "xml",
                        success: function (xml) {
                            _locationset = new Array();
                            $(xml).find('Placemark').each(function (i) {
                                var shop = {
                                    Name: $(this).find('name').text(),
                                    //Take the lat lng from the user, geocoded above
                                    LatLng: new google.maps.LatLng(
                                        $(this).find('coordinates').text().split(",")[1],
                                        $(this).find('coordinates').text().split(",")[0]),
                                    Description: $(this).find('description').text(),
                                    Marker: null,
                                    Distance: null
                                };
                                _locationset.push(shop);
                            });

                            // Calc Distances from user's location
                            GeoCodeCalc.CalcDistanceGoogle(new google.maps.LatLng(orig_lat, orig_lng), function (success) {
                                if (!success) { //something went wrong
                                    handleError("Unable to calculate distances at this time");
                                }
                                else {
                                    //Sort the multi-dimensional array numerically
                                    _locationset.sort(function (a, b) {
                                        return ((a.Distance < b.Distance) ? -1 : ((a.Distance > b.Distance) ? 1 : 0));
                                    });

                                    // take "N" closest shops
                                    _locationset = _locationset.slice(0, settings.storeLimit);

                                    //Check the closest marker
                                    if (_locationset[0].Distance > settings.distanceAlert) {
                                        handleError("Unfortunately, our closest location is more than " + settings.distanceAlert + " miles away.");
                                    }

                                    //Create the map with jQuery
                                    $(function () {
                                        var orig_LatLng = new google.maps.LatLng(orig_lat, orig_lng);
                                        //Google maps settings
                                        var myOptions = {
                                            center: orig_LatLng,
                                            mapTypeId: google.maps.MapTypeId.ROADMAP
                                        };

                                        var map = new google.maps.Map(document.getElementById(settings.mapDiv), myOptions);
                                        //Create one infowindow to fill later
                                        var infowindow = new google.maps.InfoWindow();

                                        //Add user location marker
                                        var marker = createMarker(orig_LatLng, "0", settings.startPinColor);
                                        marker.setAnimation(google.maps.Animation.DROP);
                                        var bounds = new google.maps.LatLngBounds();
                                        bounds.extend(orig_LatLng);

                                        $("#" + settings.listDiv).empty();

                                        $(_locationset).each(function (i, location) {
                                            bounds.extend(location.LatLng);
                                            letter = String.fromCharCode("A".charCodeAt(0) + i);
                                            location.Marker = createMarker(location.LatLng, letter, settings.pinColor);
                                            create_infowindow(location);
                                            listClick(letter, location);
                                        });

                                        // zoom in/out to show all markers
                                        map.fitBounds(bounds);

                                        function listClick(letter, shop) {
                                            $('<li />').html("<div class=\"list-details\"><div class=\"list-content\">"
                                            + "<div class=\"list-label\">" + letter + "<\/div>"
                                            + "<div class=\"loc-name\">" + shop.Name + "<\/div> <div class=\"loc-addr\">" + shop.Description + "<\/div>"
                                            + (shop.Distance ? "<div class=\"loc-addr2\"><i>approx. " + shop.Distance + " miles</i><\/div>" : "")
                                            + "<div class=\"loc-web\"><a href=\"http://maps.google.co.uk/maps?saddr="
                                            + formatGoogleMapUrlString($("#address").val()) + "+%40" + orig_lat + "," + orig_lng
                                            + "&daddr=" + formatGoogleMapUrlString(shop.Name) + "+%40" + shop.LatLng.lat() + "," + shop.LatLng.lng()
                                            + "&hl=en" + "\" target=\"_blank\">&gt;Get directions</a><\/div><\/div><\/div>")
                                            .click(function () {
                                                create_infowindow(shop, "left");
                                            }).appendTo("#" + settings.listDiv);
                                        };

                                        //Custom marker function - aplhabetical
                                        function createMarker(point, letter, pinColor) {
                                            //Set up pin icon with the Google Charts API for all of our markers
                                            var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=" + letter + "|" + pinColor + "|" + settings.pinTextColor,
                                              new google.maps.Size(21, 34),
                                              new google.maps.Point(0, 0),
                                              new google.maps.Point(10, 34));
                                            var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
                                              new google.maps.Size(40, 37),
                                              new google.maps.Point(0, 0),
                                              new google.maps.Point(12, 35));

                                            //Create the markers
                                            return new google.maps.Marker({
                                                position: point,
                                                map: map,
                                                icon: pinImage,
                                                shadow: pinShadow,
                                                draggable: false
                                            });
                                        };

                                        //Infowindows
                                        function create_infowindow(shop, listLocation) {
                                            var formattedAddress = "<div class=\"infoWindow\"><b>" + shop.Name + "<\/b>"
                                            + "<div>" + shop.Description + "<\/div>"
                                            + (shop.Distance ? "<div><i>" + shop.Distance + " miles<\/i><\/div><\/div>" : "<\/div>");

                                            //Opens the infowindow when list item is clicked
                                            if (listLocation == "left") {
                                                infowindow.setContent(formattedAddress);
                                                infowindow.open(shop.Marker.get(settings.mapDiv), shop.Marker);
                                            }
                                            //Opens the infowindow when the marker is clicked
                                            else {
                                                google.maps.event.addListener(shop.Marker, 'click', function () {
                                                    infowindow.setContent(formattedAddress);
                                                    infowindow.open(shop.Marker.get(settings.mapDiv), shop.Marker);
                                                })
                                            }
                                        };
                                    });
                                }
                            });
                        }
                    });
                });
            }

        });
    };
})(jQuery);
[/CODE]
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.