Jump to content
php.lv forumi

google karte / attāluma reiķināšana / etc


EdgarsK

Recommended Posts

Sveiki,

 

jautājums ir diezgan sarežģīts. Tātad ar ajax palīdzību es norādu centru google kartei

post-3881-1267710943,28_thumb.jpg

 

 

norādot kartē centru man caur ajax/post tiek nosūtīts kartes centra long/lat mana skriptam, kurš izpilda vaicājumu datubāzē pēc tuvākajiem 50 rezultātiem, rezultāts ir apmēram šāds

post-3881-1267711019,05_thumb.jpg

 

 

kā lai es veidoju pieprasijumu lai attiecībā pret Zoom līmeni 19-7 rezultāti nebūtu vienā čupā, kā piemēram šeit

post-3881-1267711071,06_thumb.jpg

 

 

Man bija doma, ja es iegūtu kartes laukuma informāciju, attiecīgi visus stūrus

post-3881-1267711106,38_thumb.jpg

 

tad es varētu veidot pieprasijumu pēc šada principa

 

select * from tabula where augstums<augsejais_kreisais_sturis and augstums>apaksejais_labais_sturis and platums>kreisais_augsejais_sturis and platums<labais_apaksejais_sturis

 

kā jums liekas, ja piekrītat, tad - kā iegūt kartes stūrus, ja kartei ir nemainīgs izmērs. ?

 

EDIT: Vēl viens variants šāds

 

switch($zoom_limenis){
case 19:
  $pieprasijumi = 5;
  $attalums_no_centra = 10;
  $rezultati = 5;
break;
}
for($i=0;$i<$pieprasijumi;$i++){
$q=new query("tabula","@geo");
$q->setLimits($rezultati,$attalums_no_centra);
$attalums_no_centra = $attalums_no_centra + $attalums_no_centra;
}

 

attiecigi tas butu

 

0 = centrs

0 = 5 rezultati

1 = 10m no centra = 5 rezultati radiusa

2 = 20m no centra = 5 rezultati radiusa

3 = 30m no centra = 5 rezultati radiusa

4 = 40m no centra = 5 rezultati radiusa

 

attiecigi es iegutu 50 rezultatus radiusa (bet tagad jautajums, ja shis variants der, tad cik rezultatus jautat viena pieprasijuma un cik pieprasijumi nepieciesami - pret katru zoom limeni)

Edited by EdgarsA
Link to comment
Share on other sites

Ja sapratu ideju - norādi punktu un dabū visus rezultātus, kas ir līdz noteiktam attālumam no dotā punktā.

db tev mētājas katram punktam lat un lng.

Norādītājam meklēšana punktam saņem lat un lng --> skaties, cik pie attiecīgā zoom vari atļauties tālu punktu ņemt pēc lat un lng --> meklē db pēc principa, kur meklējama punkta lat ir starp (dotais punkt+pieļaujama lat) un (dotais punkts -pieļaujamais lat) and (tas pats, tikai lng)

 

vai punkts atrodas rādāmajā kvadrātā māk arī google map api pateikt.

 

viss, kas tev ir jāzin - jānoskaidro, cik liels attālums iekš lat un lng katrā zoom lien tevis atvēlētajā kartes izmērā.

Edited by ohmygod
Link to comment
Share on other sites

nu jā tik tālu es aizdomājos par to rezultātu izvilkšanu no punkta līdz robežām, bet šoreiz laikam ir tā.

 

es iegūstu centra LL un tad skatoties pēc centra LL vaicāju kastes LL katram stūrim un tad (tā kā man ir daudz vietas kur ko rādīt) tad vaicāju db pēc datiem kur lat>lowerlat un lat<highestlat un long>lowestlong un long<longestlat

 

+ kautka radomzieties vajag, jo rezultati bus chupam, bet gribu ta lai sava starpa ir kautkada atstarpe (atkarigs no zoom) 10m teiksim

 

kā iegūt kartes rāmja punktus?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...