如何使用现有位置打开地图活动

时间:2018-02-07 22:14:10

标签: android google-maps listview

我遇到了一个无法找到解决方案的问题。 我有一个地图活动和一个listview活动。在这个listview活动中,我已经列出了一个项目列表。我找不到的问题点击此列表视图后如何订购,然后out是我创建的地图活动。在地图活动中,有一个标记,其位置已经安装。 如何在点击列表视图时订购,然后输出具有相应位置的地图活动。

这是我使用的编码

Layer_Hotel.java

heapq

BelitungMap.Java 这是地图活动

heapq

根据我使用的编码。如何使用Layer_Hotel.Java打开BelitungMap.Java

在我创建的列表视图上。单击第一个列表视图时,它将显示谷歌地图应用程序。 我认为这是因为import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.util.ArrayList; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; public class Layer_Hotel extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hotel); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrName); ListView listView = (ListView) findViewById(R.id.id_list); listView.setAdapter(adapter); */ ArrayList<Xiaomi> list = new ArrayList<Xiaomi>(); list.add(new Xiaomi("Billiton Hotel & Klub", "Jl. Letda Zainudin Aba RT.01 RW.01 No.26")); list.add(new Xiaomi("Hotel Lux Melati", "Jl. Kedung Halang")); list.add(new Xiaomi("Grand Hatika Hotel", "Jl. Raya Sindangbarang")); list.add(new Xiaomi("Golden Tulip Essential Belitung", "Jl. Brigjen Saptaji Hadi Prawira")); list.add(new Xiaomi("BW SUITE Belitung Hotel", "Jl. Veteran")); list.add(new Xiaomi("Bahamas Hotel & Resort", "Jl. KH. Soleh Iskandar")); list.add(new Xiaomi("The Villa of Lor In Tanjung Tinggi", "Jl. RE Abdullah No. 16")); list.add(new Xiaomi("Hotel Santika Premiere Beach Resort Belitung", "Jl. Tentara Pelajar")); list.add(new Xiaomi("Arumdalu Private Resorts", "Jl. KH Sholeh iskandar")); list.add(new Xiaomi("Leebong Island Resort", "Jl. Raya Parakan Benda")); ListHotel adapter = new ListHotel(this, list); ListView listView = (ListView) findViewById(R.id.id_list); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { switch (position) { case 0 : Uri gmmIntentUri = Uri.parse("geo:-2.739872,107.632400?z=17"); Intent htl1 = new Intent(Intent.ACTION_VIEW, gmmIntentUri); htl1.setPackage("com.google.android.apps.maps"); startActivity(htl1); break; case 1 : Intent htl2 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl2); break; case 2 : Intent htl3 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl3); break; case 3 : Intent htl4 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl4); break; case 4 : Intent htl5 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl5); break; case 5 : Intent htl6 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl6); break; case 6 : Intent htl7 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl7); break; case 7 : Intent htl8 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl8); break; case 8 : Intent htl9 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl9); break; case 9 : Intent htl10 = new Intent(Layer_Hotel.this, BelitungMap.class); startActivity(htl10); break; } //Toast.makeText(Layer_Hotel.this, "PILIH", //Toast.LENGTH_SHORT).show(); } }); } } 我不知道它是否真实,因为这是问题所在。

顺便说一句,如果英语不好,那就很抱歉。我来自印度尼西亚使用谷歌翻译。

1 个答案:

答案 0 :(得分:0)

因此,如果我理解你想要的是当你点击列表视图中的项目时,它会根据列表中的元素打开带有标记的地图,所以这是你如何做到的:

首先您应该使用此元素创建对象

imports: [
 BrowserModule,
 HttpModule,
 Ionic2RatingModule ,
 FormsModule,
 IonicModule.forRoot(MyApp),
 IonicStorageModule.forRoot(),
 IonicImageLoader.forRoot()
 ]

创建您的String name; String adresse; Double latitude; Double longitude; constructor以及geters

第二次,您应该使用setters为您的adapter创建ListView 创建了ArrayList

然后在您object的{​​{1}}方法上,使用getView创建一个新的adapter并向其传递一些额外费用,{{ 1}}  添加您需要的所有信息adresse,纬度,经度......然后拨打view.setOnclickListenner()

最后使用Intent获取名称,并使用intent.addExtra("PLACE_NAME",listOfYourObject.get(position).getname());startActivity(intent)获取所需的其他值。

现在你拥有所需的东西,用specefic的位置,名字和地址来创建你的标记!