Viac

CartoDB latlon sa zmení na lonlat


Mám tento skript, ktorý sa pokúšam použiť na vyhľadanie hodnoty v tabuľke CartoDB. Zdá sa, že nerozumiem tomu, ako zmeniť poradie zemepisných súradníc tak, aby vyzerali akolonlat… namiestolatlon

Tu sa pokúšam urobiť:

funkcia parcelSearch (vrstva) {var sql = new cartodb.SQL ({user: 'dchadney'}); var $ options = $ ('#searchParcel'); $ options.click (function (e) {var streetNam = document.getElementById ('parcelid'). value; if (streetNam === "") {alert ("Please enter the parcel ID");} else {query = "SELECT * FROM parcels_sa WHERE parcel_id ILIKE '%" + streetNam + "%'"; console.log (query); layer.getSubLayer (0) .show (); sql.getBounds (query) .done (function (bounds) {latlon = bounds [0]; console.log (latlon); $ ('. latlongit'). val (latlon); // map.fitBounds (bounds);}); $ ('#step1'). modal ( 'hide'); $ ('#step1A'). hide ('fast'); setTimeout (function () {$ ("#submitModal"). modal ({backdrop: 'static'});}, 7000); $ ('button#step3indicator'). addClass ('active'); $ ('. line2'). css ('width', '42%');} // zmeňte dotaz vo vrstve a aktualizujte vrstvu mapy .setSQL (dotaz);});

Zdá sa mi, že latlon je funkcia, ktorá pochádza z letáku? Ako to upravím?


Som si celkom istý, že javascriptové API CartoDB je Leaflet API, takže sa pozrite na ich dokument: http://leafletjs.com/reference.html#latlng

Môžete odtiaľto jednoducho vytiahnuť hodnoty, niečo také:

var coord = L.latLng (50,5, 30,5); var lng = coord.lng; var lat = coord.lat;

Alebo ho môžete uložiť ako svoj vlastný predmet, takto:

var lnglat = {lng: 12,33, lat: 44,11}; var lat = lnglat.lat; var lng = lnglat.lng;

Ale možno, ak popíšete, o čo sa vlastne pokúšate, bude existovať elegantnejší spôsob, ako zmeniť hodnoty?


K konkrétnym súradniciam hraníc sa dostanete týmto spôsobom:

console.log (hranice [0] [0]); console.log (hranice [0] [1]); console.log (hranice [1] [0]); console.log (hranice [1] [1]);

Ale vezmite do úvahy, že v hraniciach budete mať dve súradnice, ktoré tvoria dva rohy ohraničujúceho poľa, takže sa možno budete chcieť pokúsiť dostať do stredu poľa pomocou:

console.log ((hranice [0] [0]+hranice [1] [0]/2)); console.log ((hranice [0] [1]+hranice [1] [1]/2));


Pozri si video: Easy Map Visualization - CartoDB (Október 2021).