Google harita kullanarak en yakın noktalara (Mall, Hastane ve Havalimanı vb) mesafeler elde

1 Cevap java

Ben (bir veritabanında bir tablo) Hindistan'da büyük şehirlerde yaklaşık 100000 adreslerine sahip olduğu bir proje üzerinde çalışıyorum. Bu yakın yerler (Mall, Hastane ve Havalimanı vb) için mesafeler elde etmek mümkün olup olmadığını bilmek istiyorum. İdeal Ben bu mesafeleri ana tabloya mergeed olmak istiyorum. Biz bu konuda gitmek nasıl öğrenmek kez biz onu halletmek için Java ve PHP kodlayicilari var. Herhangi bir işaretçiler büyük yardımı olacaktır. Teşekkür ederim.

1 Cevap

(Herhalde o durumda ise, bu noktaları gözden kaçırmak ve okuyun lütfen, buraya malumu, ama olacaktır.)

General Distances

("As The Crow Flies" and for Limiting Search/Processing Loads)

Determining Distances Between Two Points can be done within the SQL Database / SELECT statement.
Reference: MySQL Great Circle (Haversine Formula)

SELECT
  acos(
      cos(radians( $latitude0 ))
    * cos(radians( $latitude1 ))
    * cos(radians( $longitude0 ) - radians( $longitude1 ))
    + sin(radians( $latitude0 ))
    * sin(radians( $latitude1 ))
  )*6371 AS greatCircleDistanceKMs
FROM yourTable

Yani karşılaştırmak için kullandığınız noktasının Enlem / Uzun (, kullanıcının adresi yani vb) değişme olasılığı ise, dinamik kullanılabilir, ya da olay dosyaları bir dizi bir güncelleştirme gerçekleştirmek için kullanılan olabilir karşılaştırmak için kullandığınız nokta (ofis yeri, vb) ayarlanır

Dinamik olarak kullanılacak ise, o zaman da satır grubu bu fonksiyon sınırlı karşı çalıştırılan önerilir.

WHERE
  searchLatitude BETWEEN latitude+1 AND latitude-1
  AND searchLongitude BETWEEN longitude+1 and longitude-1

, Esasen, searchLatitude / searchLongitude noktası etrafında bir 1 derece kutusu oluşturmak ve gerekli hesaplamaların sayısını azaltacaktır.

Exact Distances

For Final Results

Eğer basit bir HTTP isteği kullanarak iki nokta arasındaki gerçek sürüş mesafe almak için Google Directions API işlevsellik sağlar.

An example URL would be, for "Chhatrapati Shivaji Int'l Airport" to "Taj Mahal Palace & Tower":
http://maps.google.com/maps/api/directions/xml?origin=Chhatrapati+Shivaji+International+Airport&destination=Taj+Mahal+Palace+%26+Tower,+Mahakavi+Bhushan+Road,+Apollo+Bandar+Mumbai&sensor=false

Yani XML Response dönecektir:

<?xml version="1.0" encoding="UTF-8"?>
<DirectionsResponse>
 <status>OK</status>
 <route>
  <summary>Western Express Hwy/NH 8</summary>
  <leg>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0966100</lat>
     <lng>72.8656200</lng>
    </start_location>
    <end_location>
     <lat>19.1091100</lat>
     <lng>72.8539000</lng>
    </end_location>
    <polyline>
     <points>yxpsBcqv{LuAd@aEf@eBl@a^lQqDpBiS`PgAnAeArCoA`JiAbK</points>
     <levels>B???@?@???B</levels>
    </polyline>
    <duration>
     <value>112</value>
     <text>2 mins</text>
    </duration>
    <html_instructions>Head &lt;b&gt;north&lt;/b&gt; on &lt;b&gt;Sahar Rd&lt;/b&gt; toward &lt;b&gt;I A Project Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Priyadeep (on the left in 1.9&amp;nbsp;km)&lt;/div&gt;</html_instructions>
    <distance>
     <value>1978</value>
     <text>2.0 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.1091100</lat>
     <lng>72.8539000</lng>
    </start_location>
    <end_location>
     <lat>19.1061700</lat>
     <lng>72.8538800</lng>
    </end_location>
    <polyline>
     <points>}fssB{gt{LpHr@zCO|B_@</points>
     <levels>B??B</levels>
    </polyline>
    <duration>
     <value>52</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Turn &lt;b&gt;left&lt;/b&gt; toward &lt;b&gt;Western Express Hwy/NH 8&lt;/b&gt;</html_instructions>
    <distance>
     <value>332</value>
     <text>0.3 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.1061700</lat>
     <lng>72.8538800</lng>
    </start_location>
    <end_location>
     <lat>19.0991500</lat>
     <lng>72.8540500</lng>
    </end_location>
    <polyline>
     <points>qtrsBwgt{L|BAbTqCfCQrBJ|IvB</points>
     <levels>B??@?B</levels>
    </polyline>
    <duration>
     <value>82</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Continue straight onto &lt;b&gt;Western Express Hwy/NH 8&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Giriraj Ceramic Products (on the left in 750&amp;nbsp;m)&lt;/div&gt;</html_instructions>
    <distance>
     <value>799</value>
     <text>0.8 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0991500</lat>
     <lng>72.8540500</lng>
    </start_location>
    <end_location>
     <lat>19.0931000</lat>
     <lng>72.8507700</lng>
    </end_location>
    <polyline>
     <points>uhqsByht{LdMlDxG|AdC~@jBdAzBjB~@hAj@fA</points>
     <levels>B??@???B</levels>
    </polyline>
    <duration>
     <value>35</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Slight &lt;b&gt;right&lt;/b&gt; toward &lt;b&gt;Western Express Hwy/NH 8&lt;/b&gt;</html_instructions>
    <distance>
     <value>772</value>
     <text>0.8 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0931000</lat>
     <lng>72.8507700</lng>
    </start_location>
    <end_location>
     <lat>19.0507200</lat>
     <lng>72.8404700</lng>
    </end_location>
    <polyline>
     <points>{bpsBits{LjAfCr@rCbCdS`@vB\dAhAdBvBhB`Af@`Ch@bBHnAExCk@nAm@l@e@nGuF~Ay@fDaAlXcDxx@f@~UBbPPvVF|HLhXAdD\~Bn@lCxA|AbBjAdCz@nDfGfS</points>
     <levels>B????@???@??@????@@?????@???@??B</levels>
    </polyline>
    <duration>
     <value>252</value>
     <text>4 mins</text>
    </duration>
    <html_instructions>Continue straight onto &lt;b&gt;Western Express Hwy/NH 8&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by St Joseph's (on the left in 3.5&amp;nbsp;km)&lt;/div&gt;</html_instructions>
    <distance>
     <value>5666</value>
     <text>5.7 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0507200</lat>
     <lng>72.8404700</lng>
    </start_location>
    <end_location>
     <lat>19.0429200</lat>
     <lng>72.8401400</lng>
    </end_location>
    <polyline>
     <points>_zgsB}sq{LfBjBj@ZxB^h@XZfAN~Ab@b@l@VnJEn@MrBg@lQgH</points>
     <levels>B???????@?@?B</levels>
    </polyline>
    <duration>
     <value>54</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Exit onto &lt;b&gt;S V Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Saraswati Dattatray Electricals &amp;amp; Co., (SDEC) (on the left in 500&amp;nbsp;m)&lt;/div&gt;</html_instructions>
    <distance>
     <value>1019</value>
     <text>1.0 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0429200</lat>
     <lng>72.8401400</lng>
    </start_location>
    <end_location>
     <lat>19.0332800</lat>
     <lng>72.8422800</lng>
    </end_location>
    <polyline>
     <points>gifsB{qq{LXAxCcAfLsEzDiAxDs@jC[lFQtIDdFR</points>
     <levels>B????@???B</levels>
    </polyline>
    <duration>
     <value>77</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Continue onto &lt;b&gt;A S Gaya Marg/Lady Jamshedji Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Dawood Khan (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>1117</value>
     <text>1.1 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0332800</lat>
     <lng>72.8422800</lng>
    </start_location>
    <end_location>
     <lat>19.0249800</lat>
     <lng>72.8406100</lng>
    </end_location>
    <polyline>
     <points>_mdsBg_r{LtI^lb@pFbBXrA`@</points>
     <levels>B???B</levels>
    </polyline>
    <duration>
     <value>62</value>
     <text>1 min</text>
    </duration>
    <html_instructions>At Emerald Surgicare (P) Ltd, continue onto &lt;b&gt;Lady Jamshedjee Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Petrol Pump (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>941</value>
     <text>0.9 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0249800</lat>
     <lng>72.8406100</lng>
    </start_location>
    <end_location>
     <lat>19.0217700</lat>
     <lng>72.8424900</lng>
    </end_location>
    <polyline>
     <points>cybsBytq{LvEeB~@gAlB}CXSx@SfDC</points>
     <levels>B?????B</levels>
    </polyline>
    <duration>
     <value>41</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Turn &lt;b&gt;left&lt;/b&gt; at Gadkari Chowk onto &lt;b&gt;NC Kelkar Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Dhyan Securities Pvt Ltd (on the right)&lt;/div&gt;</html_instructions>
    <distance>
     <value>432</value>
     <text>0.4 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0217700</lat>
     <lng>72.8424900</lng>
    </start_location>
    <end_location>
     <lat>19.0179000</lat>
     <lng>72.8475600</lng>
    </end_location>
    <polyline>
     <points>aebsBq`r{L^c@tAm@XB^QpHeNbHoL</points>
     <levels>B?????B</levels>
    </polyline>
    <duration>
     <value>63</value>
     <text>1 min</text>
    </duration>
    <html_instructions>At the roundabout, take the &lt;b&gt;1st&lt;/b&gt; exit onto &lt;b&gt;Tilak Bridge&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Vanmali Chk (on the right)&lt;/div&gt;</html_instructions>
    <distance>
     <value>702</value>
     <text>0.7 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0179000</lat>
     <lng>72.8475600</lng>
    </start_location>
    <end_location>
     <lat>19.0131500</lat>
     <lng>72.8550800</lng>
    </end_location>
    <polyline>
     <points>{lasBg`s{LUa@Fs@RSv@DvZ{j@</points>
     <levels>B????B</levels>
    </polyline>
    <duration>
     <value>160</value>
     <text>3 mins</text>
    </duration>
    <html_instructions>At the roundabout, take the &lt;b&gt;2nd&lt;/b&gt; exit onto &lt;b&gt;Tilak Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Sargam Florists (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>987</value>
     <text>1.0 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>19.0131500</lat>
     <lng>72.8550800</lng>
    </start_location>
    <end_location>
     <lat>18.9933600</lat>
     <lng>72.8515000</lng>
    </end_location>
    <polyline>
     <points>eo`sBgot{LzB`AdDr@jMv@rHVhRN`Zj@vMjB~E^zEt@lIbCdDbC</points>
     <levels>B??@??@??@?B</levels>
    </polyline>
    <duration>
     <value>233</value>
     <text>4 mins</text>
    </duration>
    <html_instructions>Turn &lt;b&gt;right&lt;/b&gt; at Shobha Hospital onto &lt;b&gt;Rafi Ahmed Kidwai Marg&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Sukkur Bhawan (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>2264</value>
     <text>2.3 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9933600</lat>
     <lng>72.8515000</lng>
    </start_location>
    <end_location>
     <lat>18.9675800</lat>
     <lng>72.8448800</lng>
    </end_location>
    <polyline>
     <points>os|rB{xs{L~AbBbMtOtYjb@dAn@pCr@`ZsEp[aEvJ}AzPwBzBa@nBI`E@zFz@~Ad@^T</points>
     <levels>B??@?@????@????B</levels>
    </polyline>
    <duration>
     <value>203</value>
     <text>3 mins</text>
    </duration>
    <html_instructions>Continue onto &lt;b&gt;Barrister Nath Pai Marg&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Everest Marine Ply - J. Himatlal &amp;amp; Co. (on the left in 1.6&amp;nbsp;km)&lt;/div&gt;</html_instructions>
    <distance>
     <value>3360</value>
     <text>3.4 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9675800</lat>
     <lng>72.8448800</lng>
    </start_location>
    <end_location>
     <lat>18.9382900</lat>
     <lng>72.8379900</lng>
    </end_location>
    <polyline>
     <points>krwrBoor{LxCf@rBh@`Bf@nCpAnAFpAEfBSr@Y^?dk@nIdm@rJbEb@rz@xM</points>
     <levels>B????????????B</levels>
    </polyline>
    <duration>
     <value>246</value>
     <text>4 mins</text>
    </duration>
    <html_instructions>At Our Lady of the Rosary Church, continue onto &lt;b&gt;P D Mello Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Petrol Pump (on the left in 1.9&amp;nbsp;km)&lt;/div&gt;</html_instructions>
    <distance>
     <value>3356</value>
     <text>3.4 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9382900</lat>
     <lng>72.8379900</lng>
    </start_location>
    <end_location>
     <lat>18.9344900</lat>
     <lng>72.8371000</lng>
    </end_location>
    <polyline>
     <points>i{qrBmdq{LjIlAvI|ArAD</points>
     <levels>B??B</levels>
    </polyline>
    <duration>
     <value>56</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Continue onto &lt;b&gt;S Bhagat Singh Marg&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by SIB (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>433</value>
     <text>0.4 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9344900</lat>
     <lng>72.8371000</lng>
    </start_location>
    <end_location>
     <lat>18.9321900</lat>
     <lng>72.8357900</lng>
    </end_location>
    <polyline>
     <points>qcqrB{~p{Ll@?bDf@^RtC`DbAf@</points>
     <levels>B????B</levels>
    </polyline>
    <duration>
     <value>32</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Continue onto &lt;b&gt;Mint Rd&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Mint Police Station (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>302</value>
     <text>0.3 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9321900</lat>
     <lng>72.8357900</lng>
    </start_location>
    <end_location>
     <lat>18.9243200</lat>
     <lng>72.8320700</lng>
    </end_location>
    <polyline>
     <points>euprBuvp{LdIj@XNhAxArA`ApHfCtDX`C@lA\r@n@fAvCf@f@j@LNR?XnC`@</points>
     <levels>B???????@??????B</levels>
    </polyline>
    <duration>
     <value>97</value>
     <text>2 mins</text>
    </duration>
    <html_instructions>Continue onto &lt;b&gt;Shahid Bhagat Singh Rd/Shahid Bhagat SIngh Marg&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Go through 1 roundabout&lt;/div&gt;&lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Town Hall (on the left)&lt;/div&gt;</html_instructions>
    <distance>
     <value>1022</value>
     <text>1.0 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9243200</lat>
     <lng>72.8320700</lng>
    </start_location>
    <end_location>
     <lat>18.9230100</lat>
     <lng>72.8334800</lng>
    </end_location>
    <polyline>
     <points>_dorBm_p{LvFmERa@Ei@</points>
     <levels>B??B</levels>
    </polyline>
    <duration>
     <value>30</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Turn &lt;b&gt;left&lt;/b&gt; at CBI onto &lt;b&gt;Mahakavi Bhushan Rd/Rajkavi Ghushan Marg&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Pass by Kalajot Hospital (on the right)&lt;/div&gt;</html_instructions>
    <distance>
     <value>220</value>
     <text>0.2 km</text>
    </distance>
   </step>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>18.9230100</lat>
     <lng>72.8334800</lng>
    </start_location>
    <end_location>
     <lat>18.9219500</lat>
     <lng>72.8335500</lng>
    </end_location>
    <polyline>
     <points>y{nrBghp{LdA_@t@KvA\</points>
     <levels>B??B</levels>
    </polyline>
    <duration>
     <value>46</value>
     <text>1 min</text>
    </duration>
    <html_instructions>Turn &lt;b&gt;right&lt;/b&gt; at Mumbai Hotels Booking onto &lt;b&gt;Appolo Bunder/P J Ramchandani Marg&lt;/b&gt; &lt;div style=&quot;font-size:0.9em&quot;&gt;Destination will be on the right&lt;/div&gt;</html_instructions>
    <distance>
     <value>124</value>
     <text>0.1 km</text>
    </distance>
   </step>
   <duration>
    <value>1933</value>
    <text>32 mins</text>
   </duration>
   <distance>
    <value>25826</value>
    <text>25.8 km</text>
   </distance>
   <start_location>
    <lat>19.0966100</lat>
    <lng>72.8656200</lng>
   </start_location>
   <end_location>
    <lat>18.9219500</lat>
    <lng>72.8335500</lng>
   </end_location>
   <start_address>Chhatrapati Shivaji International Airport, Vile Parle East, Mumbai, Maharashtra, India</start_address>
   <end_address>Taj Mahal Palace &amp; Tower, P J Ramchandani Marg, Apollo Bandar, Mumbai, Maharashtra 400001, India</end_address>
  </leg>
  <overview_polyline>
   <points>yxpsBcqv{LuAd@aEf@eBl@a^lQqDpBiS`PgAnAeArCoA`JiAbKpHr@nAChEk@|BAbTqCfCQl@@dAHhE`AbJhCxQvEfDdBzBjB~@hAvBnEr@rCbCdS`@vBh@xA|@pAvBhB`Af@`Ch@bBHnAExCk@nAm@l@e@nGuF~Ay@fDaAlXcDxx@f@~UBbPPvVF|HLhWClDX|Bh@fDdBz@x@l@z@~@rBz@nDfGfSfBjBj@ZxB^h@XZfAN~Ab@b@l@VnJErAYnA[vEgBPObJoDXAxCcAfLsEzDiAdB]vGw@jIM~DFzPr@lb@pFbBXrA`@vEeB~@gAlB}CXSx@SfDC^c@tAm@XB^QpHeNbHoLUa@Fs@RSv@DvZ{j@zB`AdDr@jMv@rHVhRN`Zj@vMjB`DRnFt@vJnChCfBjAhArNjQtYjb@dAn@pCr@`ZsEp[aEvJ}AzPwBzBa@nBI`E@zFz@~Ad@^TxCf@rBh@`Bf@nCpAnAFpAEfBSr@Y^?dk@nIdm@rJbEb@b\bFnWhEjOxBvI|A`CDbDf@^RtC`DbAf@dIj@XNhAxAzBxAhGnBtDX`C@lA\r@n@fAvCf@f@j@LNR?XnC`@vFmERa@Ei@dA_@t@KvA\</points>
   <levels>B???@?@???A??????@???@???@???@???A??@????@@?????@???@???@???????@?@?????????@??@??A???@?????@??????A??@??@???@?????@??????@??????@????@????????@??????@???@?????@??????B</levels>
  </overview_polyline>
 </route>
</DirectionsResponse>

Tam yolculuk için ayrıntılarını içeren unsurlar şunlardır:

DirectionsResponse > route > distance > value
The distance, in a base unit, for the complete journey

DirectionsResponse > route > distance > text
The distance, in a plain English form, for the complete journey

DirectionsResponse > route > duration > value
The estimated travel time, in a base unit (seconds), for the complete journey

DirectionsResponse > route > duration > text
The estimated travel time, in a plain English form, for the complete journey

Daha sonra sonuç ayrıştırmak ve bu ayrıntıları ayıklamak için PHP DOMDocument CLASS kullanabilirsiniz.

NOTE: Google Tarifleri API sayfasından "Use of the Google Directions API is subject to a query limit of 2,500 directions requests per day. Bireysel tarifi istekleri isteği kadar 8 orta noktalarını içerebilir. Google Maps Premier customers may query up to 100,000 directions requests per day, izin kadar 23 noktaları ile Her isteği. "