Sorumluluk Reddi Beyanı
Bu ürün/özellik değişecek ve herhangi bir hizmet düzeyi sözleşmesine (HDS) veya kullanımdan kaldırma politikasına tabi değildir. Uygulama, gelecekteki sürümlerde değişebilir.
Bu dokümana eşlik eden örnek yazılım, veri dosyaları ve/veya kaynak koduyla ilgili olarak: Bu ürün "olduğu gibi" ve herhangi bir garanti olmadan sağlanır. Google, açık, zımni, yasal veya başka türlü tüm garantileri (satılabilirlik, belirli bir amaca uygunluk ve bu ürünle ilgili herhangi bir hakkın ihlal edilmemesi garantileri dahil ancak bunlarla sınırlı olmamak üzere) açıkça reddeder.
Android Automotive intent'leri aracılığıyla Google Haritalar'da navigasyonu başlatabilirsiniz.
Daha fazla bilgi için Android için Google Haritalar Intent'leri başlıklı makaleyi inceleyin.
Uygulamanızı Android Auto veya Android Automotive OS çalıştıran araçlara getirme hakkında daha fazla bilgi için Arabalar için Android başlıklı makaleyi inceleyin.
Genel Bakış
Bu sayfada, Android Automotive için Google Haritalar ile kullanabileceğiniz intent'ler açıklanmaktadır. Ayrıntılı Android geliştirici belgeleri için şunları okuyun:
Intent istekleri
Android Automotive için Google Haritalar'ı bir intent ile başlatmak istiyorsanız öncelikle işlemini, URI'sini ve paketini belirterek bir Intent nesnesi oluşturmanız gerekir.
İşlem. Tüm Google Haritalar intent'leri Görüntüle işlemi olarak çağrılır (
ACTION_VIEW
).URI. Google Haritalar intent'leri, istenen bir işlemi belirten URI kodlanmış dizeler ile birlikte işlemi gerçekleştirmek için kullanılacak bazı veriler kullanır.
Paket.
setPackage("com.google.android.apps.maps")
çağrısı, Android için Google Haritalar uygulamasının Intent'i işlemesini sağlar. Paket ayarlanmamışsa sistem, hangi uygulamaların Intent'i işleyebileceğini belirler. Birden fazla uygulama varsa kullanmak istediğiniz uygulamayı seçmeniz istenebilir.
Intent'i oluşturduktan sonra sistemin ilgili uygulamayı başlatmasını çeşitli şekillerde isteyebilirsiniz. Yaygın bir yöntem, Intent'i startActivity()
yöntemine iletmektir. Sistem, gerekli uygulamayı (bu durumda Google Haritalar) başlatır ve ilgili etkinliği başlatır.
// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);
Sistem, intent'e yanıt verebilecek bir uygulama tanımlayamazsa uygulamanız kilitlenebilir. Bu nedenle, bu intent'lerden birini kullanıcıya sunmadan önce öncelikle alıcı uygulamanın yüklü olup olmadığını doğrulayın.
Bir uygulamanın niyeti alıp alamayacağını doğrulamak için Intent
nesnenizde resolveActivity()
işlevini çağırın. Sonuç null değilse intent'i işleyebilecek en az bir uygulama vardır ve startActivity()
çağrılabilir. Sonuç null ise intent'i kullanmamalı ve mümkünse intent'i çağıran özelliği devre dışı bırakmalısınız.
if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}
Örneğin, Sydney'deki Taronga Hayvanat Bahçesi'ne adım adım yol tarifi başlatmak için aşağıdaki kodu kullanabilirsiniz:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
URI kodlanmış sorgu dizeleri
Google Haritalar Intent'lerine iletilen tüm dizeler URI kodlamasına sahip olmalıdır. Örneğin, "1st & Pike, Seattle" dizesi 1st%20%26%20Pike%2C%20Seattle
olmalıdır.
Dizedeki boşluklar %20
ile kodlanabilir veya artı işaretiyle (+) değiştirilebilir.
Dizelerinizi kodlamak için android.net.Uri parse()
yöntemini kullanabilirsiniz. Örneğin:
Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));
Adım adım navigasyonu başlatma
Belirtilen bir veya daha fazla adrese ya da koordinata adım adım yol tarifleri içeren Google Haritalar navigasyonunu başlatmak için bu niyeti kullanın. Yol tarifleri her zaman kullanıcının mevcut konumundan verilir.
google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename
Parametreler
Navigasyonu başlatmak için place
veya q
ile waypoints
'yi kullanın (isteğe bağlıdır). İsteğe bağlı olarak bir yol işaretini şarj istasyonu olarak işaretlemek için Google Haritalar'a elektrikli araç seyahat planı gönderme başlıklı makaleyi inceleyin.
q
, gezinme aramalarının bitiş noktasını belirler. Bu, bir enlem/boylam veya sorgu biçimlendirilmiş bir adres olabilir. Birden fazla sonuç döndüren bir sorgu dizesiyse ilk sonuç seçilir.place
, uç noktayı eve veya işe ayarlar. Kullanıcının evine gitmek için ev, iş yerine gitmek için iş seçeneğini belirleyin.avoid
, rotanın kaçınmaya çalışması gereken özellikleri belirler.avoid
isteğe bağlıdır ve aşağıdakilerden biri veya daha fazlası olarak ayarlanabilir:- Geçiş ücretleri için
t
h
otoyollar için- Feribotlar için
f
- Geçiş ücretleri için
waypoints
, yol tarifininq
tarafından belirtilen nihai hedefe yönlendirilmesi için bir veya daha fazla ara yer belirtir. Yerleri ayırmak için dikey çizgi karakterini (|
) kullanarak birden fazla yol noktası belirtebilirsiniz (ör.Berlin,Germany|Paris,France
). Gerektiği kadar yol noktası kullanabilirsiniz. Yol işaretleri, URL'de listelendikleri sırayla rotaya eklenir. Her yol noktası bir adres veya virgülle ayrılmış enlem/boylam koordinatları olabilir. Ayrıca aynı intent'te adresler ve enlem/boylam koordinatları olabilir. Dizeler URL'den kaçan olmalıdır. Bu nedenle, "Berlin,Almanya|Paris,Fransa" gibi yol işaretleriBerlin%2CGermany%7CParis%2CFrance
olarak dönüştürülmelidir.
Örnekler
Bu Intent, Avustralya'nın Sidney kentindeki Taronga Hayvanat Bahçesi'ne adım adım yol tarifi isteğinde bulunur:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Geçiş ücreti ödemeyi veya feribot kullanmayı tercih etmiyorsanız aşağıdaki durumlardan kaçınmaya çalışan bir rota isteğinde bulunabilirsiniz:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Evinize gitmek isterseniz şunu kullanın:
Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Aşağıdaki üç adrese sırayla adım adım yol tarifi başlatmak için nihai hedef olarak Taronga Hayvanat Bahçesi'ni q
, yol işaretleri olarak da Google Sydney ve Sydney Opera Evi'ni girin:
Google Sidney
Sidney Opera Binası
Taronga Zoo, Sidney, Avustralya
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
q
'e benzer şekilde, yol noktalarından herhangi birini adres yerine virgülle ayrılmış enlem ve boylamla temsil edebilirsiniz. Örneğin, adres yerine Sidney Opera Binası'nın enlem ve boylamını göndererek aynı navigasyonu başlatmak için:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Google Haritalar'a elektrikli araç gezi planı gönderme
Bazı hedefleri elektrikli araç (EV) şarj istasyonu olarak belirtmek için bu çok hedefli gezinme amacını kullanın. Çok yol noktası intent'ini genişleten bu intent, sürücülerin elektrikli araç gezi planlama uygulamaları ile Google Haritalar arasında şarj noktası bilgilerini senkronize ederek varış noktalarına ulaşmak için yeterli elektrikli araç pili şarjına sahip olmasına yardımcı olur.
Şarj noktaları için seyahat amaçları:
- Ad ve enlem-boylam içermelidir.
- İsteğe bağlı olarak, şarj süresini hesaplamak için kullanılacak güç çıkışını içerebilir
Google, bağlayıcı türleri, toplamlar, hızlar ve anlık müsaitlik durumu, desteklenen ödeme yöntemleri ve barındıran önemli yerler (ÖY) gibi zengin verileri görüntülemek için şarj istasyonu adını ve enlem-boylam koordinatlarını kullanarak eşleşen bir şarj istasyonu yeri bulur. Örneğin, navigasyonun son kısmı için açık otoparklardaki sürüş talimatları, çalışma saatleri, puanlar. Şarj istasyonlarının Google verileriyle iyi eşleştiğinden emin olmak için <brand name>
kullanın (ör. ChargePoint
).
Parametreler
Son varış noktası
Nihai hedef olarak bir şarj istasyonunu ayarlamak için:
q
: Şarj istasyonunun enlem-boylam değerini içermelidir.q_type
:1
, nihai varış noktasının bir şarj istasyonu olduğunu belirtir.q_name
: Son varış noktasının adı.q_type
1
ise gereklidir.q_power_output_kw
: Şarj istasyonunun güç çıkışı için kilovat cinsinden çift haneli sayı. İsteğe bağlı.
Referans Noktaları
Yol işaretleri için tüm parametreler, nihai hedef hariç olmak üzere yol işaretleriyle aynı sıradaki paralel, |-ayrılmış değer dizileridir. Paralel dizilerdeki öğe sayısında uyuşmazlık olması, hatalı biçimlendirilmiş bir intent olarak değerlendirilir.
Bir veya daha fazla şarj istasyonu yol noktası eklemek için aşağıdaki parametreleri kullanın. Bunların tümü isteğe bağlıdır. Hedeflerden biri şarj istasyonu olarak işaretlenmişse bu hedef için yol noktası adı zorunlu hale gelir.
waypoints
: Adım adım navigasyon intent'inde açıklandığı şekilde yol noktalarının listesi. Şarj istasyonu yol noktaları için enlem-boylam değeri olmalıdır.waypoint_types
: Bir sayı olarak belirtilen yol noktası başına tür.0
herhangi bir durak (varsayılan değer) ve1
şarj istasyonudur.waypoint_names
: Yol noktası adları. Bu alan, şarj istasyonları için zorunludur.waypoint_power_outputs_kw
: Şarj istasyonu gücü için kilowatt cinsinden çift sayılar. Şarj istasyonları için isteğe bağlı olarak bir yol noktası güç çıkışı değeri belirtebilirsiniz. Bu değer, eşleşen istasyon bulunamazsa yedek olarak kullanılır. Boş slot, herhangi bir değer sağlanmadığı anlamına gelir.
Kullanıcı deneyimi (UX) davranışı
Birden fazla hedefi olan gezi isteklerinde, rotaya genel bakış ekranı gösterilir ancak navigasyon otomatik olarak başlatılmaz.
Doğru biçimlendirilmiş bir intent için Google Haritalar, seyahat için rotaya genel bakış ekranı gösterir. Rotaya genel bakış ekranında, geçerli olduğu durumlarda şarj önerileriyle birlikte tüm yol işaretleri ve intent'teki nihai hedef gösterilir.
Şarj istasyonu olarak işaretlenen tüm yol noktaları veya nihai hedefler için Google Haritalar, Google'ın veritabanında eşleşen bir yer arar.
Eşleşme bulunduğunda Google Haritalar, şarj istasyonunu kullanıcı arayüzünde (UA) görüntülemek ve şarj istasyonu için şarj önerisi sunmak amacıyla Google verilerini kullanır. Eşleşme bulunamazsa bir şarj istasyonu için intent'te sağlanan veriler (enlem-boylam, ad ve güç çıkışı), bu şarj istasyonunu kullanıcı arayüzünde görüntülemek ve bu şarj istasyonunda şarj önerisi sunmak için kullanılır.
Örnekler
Birden fazla şarj istasyonu üzerinden nihai hedefe gitme
Aşağıdaki intent, ChargePoint ve Evie adlı iki şarj istasyonundan geçerek son hedef olan Port Macquarie NSW'ye gider.
Sıralı hedefler:
ChargePoint Şarj İstasyonu (konum: -32.9599188,151.6240806, güç çıkışı: 6,6 kw)
Evie Şarj İstasyonu (konum: -31.9432539,152.4699808, güç çıkışı: 350 kw)
Port Macquarie NSW
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
+ "&waypoint_types=1%7C1"
+ "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
+ "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Bilinmeyen güç çıkışı
Güç çıkışı değeri bilinmiyorsa waypoint_power_outputs_kw
ile ilgili ilgili alanı boş bırakın. Tüm yuvalar boşsa waypoint_power_outputs_kw
parametresini belirtmeniz gerekmez.
Sıralı hedefler:
ChargePoint Şarj İstasyonu (konum: -32.9599188,151.6240806, güç çıkışı: bilinmiyor)
Port Macquarie NSW
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806"
+ "&waypoint_types=1"
+ "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Nihai varış noktasını şarj istasyonu olarak işaretleme
Nihai varış noktasını şarj istasyonu olarak işaretlemek için q_type
, q_name
ve q_power_output_kw
parametrelerini belirtin.
Sıralı hedefler:
Taronga Zoo, Sidney, Avustralya
ChargePoint Şarj İstasyonu (konum: -32.9599188,151.6240806, güç çıkışı: bilinmiyor)
Evie Şarj İstasyonu (konum: -31.9432539,152.4699808, güç çıkışı: 350 kw)
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
+ "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
+ "&waypoint_types=0%7C1"
+ "&waypoint_names=%7CChargePoint+Charging+Station"
+ "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
İşlem amaçları
Arayüzleri olan aşağıdaki işlem intent'leri kullanılabilir:
İşlem | Açıklama |
---|---|
geo.action:?act=mute |
Tüm navigasyon sesli rehberlerinin sesini kapatır. |
geo.action:?act=unmute |
Navigasyon sesli rehberinin sesini açar. |
geo.action:?act=show_traffic |
Haritada trafik çizgilerini gösterir. |
geo.action:?act=hide_traffic |
Haritada trafik çizgilerini gizler. |
geo.action:?act=show_satellite |
Haritada uydu görüntülerini gösterir. |
geo.action:?act=hide_satellite |
Haritadaki uydu görüntülerini gizler. |
geo.action:?act=query_next_turn |
Google Haritalar, bir sonraki dönemeci sesli olarak söyler (yalnızca navigasyon sırasında çalışır). |
geo.action:?act=distance_to_next_turn |
Google Haritalar, bir sonraki dönemece olan mesafeyi söyler (yalnızca navigasyon sırasında çalışır). |
geo.action:?act=time_to_next_turn |
Google Haritalar, bir sonraki dönemece kadar ne kadar süre kaldığını söyler (yalnızca navigasyon sırasında çalışır). |
geo.action:?act=distance_to_destination |
Google Haritalar, hedefe olan mesafeyi sesli olarak söyler (yalnızca navigasyon sırasında çalışır). |
geo.action:?act=go_back |
Google Haritalar, kullanıcı arayüzünde önceki ekrana geri döner. |
geo.action:?act=query_current_road |
Google Haritalar, mevcut yolu okur. |
geo.action:?act=query_destination |
Google Haritalar hedefi sesli olarak söyler. |
geo.action:?act=apply_electric_vehicle_connector_filter |
Elektrikli araç şarj istasyonu arama sonuçları için konnektör türü filtresini uygular. |
geo.action:?act=remove_electric_vehicle_connector_filter |
Elektrikli araç şarj istasyonu arama sonuçları için konnektör türü filtresini kaldırır. |
geo.action:?act=apply_electric_vehicle_payment_filter |
Elektrikli araç şarj istasyonu arama sonuçları için ödeme filtresini uygular. |
geo.action:?act=remove_electric_vehicle_payment_filter |
Elektrikli araç şarj istasyonu arama sonuçları için ödeme filtresini kaldırır. |
geo.action:?act=apply_electric_vehicle_fast_charging_filter |
Elektrikli araç şarj istasyonu arama sonuçları için hızlı şarj filtresini uygular. |
geo.action:?act=remove_electric_vehicle_fast_charging_filter |
Elektrikli araç şarj istasyonu arama sonuçları için hızlı şarj filtresini kaldırır. |
geo.action:?act=avoid_tolls |
Kullanıcı navigasyon yapıyorsa Google Haritalar'a, geçiş ücreti olan rotalardan kaçınmasını söyler. Mevcut rota ücretli yollardan geçiyorsa bu durum rotanın yeniden planlanmasına neden olabilir. |
geo.action:?act=allow_tolls |
Kullanıcı navigasyon yapıyorsa Google Haritalar'a, ücretli yolların bulunduğu rotalara izin vermesini söyler. Otoyol ücretlerine izin verilmesi daha iyi bir rotanın kullanılabilmesine yol açarsa rota yeniden planlanabilir. |
geo.action:?act=avoid_ferries |
Kullanıcı navigasyon yapıyorsa Google Haritalar'a feribotların bulunduğu rotalardan kaçınmasını söyler. Bu, mevcut etkin rotanın feribot içermesi durumunda rotanın yeniden planlanmasına yol açabilir. |
geo.action:?act=allow_ferries |
Kullanıcı navigasyon yapıyorsa Google Haritalar'a feribot içeren rotalara izin vermesini söyler. Feribotlara izin verilmesi daha iyi bir rotanın kullanılabilmesine yol açarsa bu durum rotanın yeniden planlanmasına neden olabilir. |
geo.action:?act=avoid_highways |
Kullanıcı navigasyon yapıyorsa Google Haritalar'a otoyolların bulunduğu rotalardan kaçınma Mevcut etkin rota otoyol içeriyorsa bu, rotanın yeniden yönlendirilmesine neden olabilir. |
geo.action:?act=allow_highways |
Kullanıcı navigasyon yapıyorsa Google Haritalar'a otoyolların bulunduğu rotalara izin vermesini söyler. Otoyollara izin verilmesi daha iyi bir rotanın kullanılabilmesine yol açarsa bu durum rotanın yeniden belirlenmesine neden olabilir. |
geo.action:?act=eta |
Kullanıcı navigasyon yapıyorsa Google Haritalar, hedefe varışla ilgili tahmini süreyi (ör. 09:15) sesli olarak belirtir. |
geo.action:?act=time_to_destination |
Kullanıcı navigasyon yapıyorsa Google Haritalar, hedefe varış için tahmini süreyi (ör. 15 dakika) söyler. |
geo.action:?act=exit_navigation |
Navigasyondan çıkar. |
geo.action:?act=select_search_result&id=0 |
Arama sonuçları şu anda ekranda gösteriliyorsa (aşağıya bakın) sağlanan kimlik parametresine göre n. sonuça gitmeye başlar. Dizin 0 tabanlı olduğundan (yani yukarıdaki intent listedeki ilk sonucu seçer) dikkat edin.
|