2010-03-22 19 views
5

Başlangıç ​​ve bitiş konumlarına sahip bir haritaya sahip bir sayfam var. Rotayı gösteren şık çizgiyi elde etmek için aralarında bir rota işletiyorum. Şu anda Bing kullanıyordum, ancak Google ile de denedim. Bu rotanın hangi eyaletlerden geçtiğini bilmek istiyorum, böylece o eyaletleri belirli bir bilgi ile kaplayabilirim.Rotam hangi eyaletlerde seyahat ediyor?

Bunu nasıl elde edeceğinize dair herhangi bir öneri en çok takdir edilecektir.

AJAX SDK'larını hem Bing hem de Google için kullanıyorum. Tüm yerel malzemelerin js/jquery ile işlenmesi.

cevap

2

Belirli bir noktanın hangi durumda olduğunu belirlemek için Google Haritalar API'sında reverse geo-code isteğini kullanabilirsiniz. Bu nedenle, yönerge isteğiyle döndürülen puan dizisini işleyebileceğinizi ve her biri için devleti çekebileceğinizi düşünebilirsiniz. v2 API olarak

bu olacaktır:

results.AddressDetails.AdministrativeArea.AdministrativeAreaName 

Ben bu biraz daha sezgisel v3 olduğunu düşünüyorum.

{ 
    "long_name":"California", 
    "short_name":"CA", 
    "types":["administrative_area_level_1","political"] 
} 

Eğer bölme kullanarak ters coğrafi kodlama optimize etmek ve durumu için de aynı olup olmadığını (rotası pozisyonların dizi ele olabilir: Uygun türünü bulmak için sonuçlar AddressComponents dizi inceleyebilir İlk ve orta konum, sonra araya giren noktalarda ters kodlama yapmayın).

+0

. Ama bu benim problemime ilk tepkim oldu. – RedBlueThing

+0

+1: Böl ve fethetmek çok güzel bir fikir –

+0

@ daniel-vassallo Teşekkürler Daniel. – RedBlueThing

0

Bir shape dosyası ve SharpMap gibi bir kitaplık veya vb MySQL uzaysal SQL Server uzaysal gibi bir coğrafi veritabanı kullanan kendi hizmet oluşturabilirsiniz Sonra sadece sadece rotanızı devletler hangisi olduğunu bulmak için bir kesişme sorgusu çalıştırmak için gereken geçiyor. Bu yaklaşım herhangi bir çokgen kümesi için çalışacak, böylece çözümü kolayca ilçelere, oylama bölgelerine, okul bölgelerine vb. Genişletebilirsiniz.

1

MapQuest Yolları web hizmetinde, eyalet sınır geçişlerini açıkça belirleyecek bir stateBoundaryDisplay bayrağı vardır (örn. " Anlatıdaki statename "). Bu bilgileri json/xml yanıtından, anlatı adımlarının metin aramasıyla kolayca çekebilirsiniz. yardımcı olur

http://www.mapquestapi.com/directions/#advancedoptions

Umut.

Roma Orada iyi (belki de? Özel bir hizmet) Bunu yapmanın daha verimli yollar olabilir ve ben alternatifleri görme ilgi olacağını