綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[軟體問題] 緊急求解!Android Studio用Spinner(下拉選單)寫addMarker標點切換!!!

 關閉 [複製連結] 查看: 1674|回覆: 2|好評: 0
跳轉到指定樓層
樓主
a45639 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2015-10-2 19:29
1碎鑽
我使用Android Studio這套軟體,我是第一次使用這套軟體。

我想用Spinner(下拉選單)寫addMarker標點切換!!!
我想要的模式如圖

                               
登錄/註冊後可看大圖

但是點選Spinner(下拉選單)中的其他餐廳,addMarker標點並沒有做切換的動作
想問大大要如何解決addMarker標點並沒有做切換的動作

我的作法:
1.strings.xml 建立下拉選單中的item
<resources>
    <string name="app_name">My Application</string>

    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="title_activity_maps">Map</string>
    <string-array name="items">
        <item>西堤</item>
        <item>藝奇</item>
        <item>陶板屋</item>
        <item>北海道昆布鍋</item>
    </string-array>


</resources>


2.activity_main.xml 在地圖下方加入下拉式選單
<LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical">
    <Spinner
        android:id="@+id/spinner01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="600dp"
        android:id="@+id/map"
        tools:context="com.example.user.myapplication.MapsActivity"
        android:name="com.google.android.gms.maps.SupportMapFragment" />
</LinearLayout>

3.MapsActivity.java 以西堤為例

package com.example.user.myapplication;

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;


public class MapsActivity extends FragmentActivity {

    private GoogleMap mMap; // Might be null if Google Play services APK is not available.
    private AdapterView spinner01;
    private int position;


    public MapsActivity() {
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        setUpMapIfNeeded();

        Spinner spinner_items = (Spinner) findViewById(R.id.spinner01);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.items, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner_items.setAdapter(adapter);

    }
    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }
    private void setUpMapIfNeeded() {
        // Do a null check to confirm that we have not already instantiated the map.
        if (mMap == null) {
            // Try to obtain the map from the SupportMapFragment.
            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                    .getMap();
            // Check if we were successful in obtaining the map.
            if (mMap != null) {
                setUpMap();
            }
        }
    }
    private void setUpMap() {
        mMap.setMyLocationEnabled(true);
        switch (position){
            case 0:
            {mMap.addMarker(new MarkerOptions().title("西堤").position(new LatLng(23.480765, 120.449276)).anchor(0.0f, 0.0f));
                break;}
            case 1:
            {mMap.addMarker(new MarkerOptions().title("藝奇").position(new LatLng(23.496323, 120.452809)).anchor(0.0f,0.0f));
                break;}
            case 2:
            { mMap.addMarker(new MarkerOptions().title("陶板屋").position(new LatLng(23.483755, 120.448060)).anchor(0.0f, 0.0f));
                break;}
            case 3:
            {mMap.addMarker(new MarkerOptions().title("北海道昆布鍋").position(new LatLng(23.476080, 120.450168)).anchor(0.0f, 0.0f));
                break;}
        }

    }
}


「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
 樓主| a45639 | 收聽TA | 只看該作者
發表於 2015-10-3 16:42
有其他更好的方法也行!!!!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

板凳
隨風而飄 | 收聽TA | 只看該作者
發表於 2016-6-26 18:58
陶板屋不好吃
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則