Форум программистов, компьютерный форум CyberForum.ru

Добавление маркеров на карту Google Maps API v2 - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Не верные данные из базы данных http://www.cyberforum.ru/android-dev/thread1440428.html
Столкнулся с небольшое проблемкой. Ошибку не замечаю, но: В таблице содержится колонка event_follow, которая по дефолту 0. На фрагменте просмотра события есть CkeckBox, который меняет на "1" если галочка стаит и "0" если нет. Метод onCheckedChanged @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Log.i(TAG, "onCheckedChanged");
Android Класс Date, как правильно задать дату? public class MainActivity extends ActionBarActivity { TextView Text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Text = (TextView) findViewById(R.id.Text); // Date dateDemo =new Date(2015,10,10); Date dateDemo =new Date(2015,04,07); ... http://www.cyberforum.ru/android-dev/thread1440372.html
Android При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Здравствуйте! Помогите пожалуйста! В общем есть список ListView с названиями кафе и ресторанов, надо сделать так чтобы при нажатии на название кафе выводилось новое Activity с информацией о самом кафе Сейчас при нажатии на название кафе ничего не происходит, хотя Activity же я указал Вот код: import android.app.ListActivity; import android.content.Intent; import android.os.Bundle;
Android Заставить андроид работать с купюроприемником BV20
Друзья, возникла задача заставить купюроприемник взаимодействовать с планшетом под платформой android. Может есть у кого идеи, как это сделать? Вот ссылка http://myitl.ru/bv20.php на сам купюроприемник. Вообще с купюроприемниками ни разу не работал, и не знаю как осуществляется связь между ним и компьютером (планшетом). Кто что может посоветовать? В идеале было бы привести код(уверен, там...
Android На базе чего строить серверную базу и какими средствами её можно реализовать http://www.cyberforum.ru/android-dev/thread1440282.html
Здравствуйте парни. Читал много, изучал много, но до сих пор осталось множество вопросов, ищу подсказки куда копать, если не сложно, дайте пинка куда двигаться дальше. Есть задумка по продаже неких услуг и она довольно давно летает в моей голове. Я буду выступать в роли посредника. Т.е. по факту что я задумал...грабить караваны 1. Есть покупатель, у него одна клиентская часть, ограниченная...
Android Выборка данных за последние 24 часа SQLite Необходимо получить данные из базы SQLite за последние 24 часа. В базе одна таблица с 3-мя колонками(широта, долгота и время). Время определяю через Calendar: Calendar addTimeCalendar; public String getAddTime() { addTimeCalendar = Calendar.getInstance(); return addTime = String.valueOf(addTimeCalendar.getTimeInMillis()); } Затем записываю в базу: public void addCoordinates() { ... подробнее

Показать сообщение отдельно
ilfar_sif
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 7

Добавление маркеров на карту Google Maps API v2 - Android

07.05.2015, 21:34. Просмотров 607. Ответов 1
Метки (Все метки)

Доброго времени суток. Есть карта, маркеры на которую ставятся путем загрузки значений местоположения из базы данных. Есть два класса: один - для загрузки карты(MapsActivity), а другой(SuggestionAdapter) для парсинга json ответа от get-запроса.
Внутри класса SuggestionAdapter есть цикл, который при каждом повторении передает значении долготы и широты.
Как, используя координаты из цикла, мне вывести маркеры на карту?
Вот код:
класс MapsActivity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package ilfarsif.myapp_places;
 
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
 
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 MapsActivity2 extends FragmentActivity {
 
    private GoogleMap mMap; // Might be null if Google Play services APK is not available.
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps_activity2);
        setUpMapIfNeeded();
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }
 
    /**
     * Sets up the map if it is possible to do so (i.e., the Google Play services APK is correctly
     * installed) and the map has not already been instantiated.. This will ensure that we only ever
     * call {@link #setUpMap()} once when {@link #mMap} is not null.
     * <p/>
     * If it isn't installed {@link SupportMapFragment} (and
     * {@link com.google.android.gms.maps.MapView MapView}) will show a prompt for the user to
     * install/update the Google Play services APK on their device.
     * <p/>
     * A user can return to this FragmentActivity after following the prompt and correctly
     * installing/updating/enabling the Google Play services. Since the FragmentActivity may not
     * have been completely destroyed during this process (it is likely that it would only be
     * stopped or paused), {@link #onCreate(Bundle)} may not be called again so we should call this
     * method in {@link #onResume()} to guarantee that it will be called.
     */
    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();
            }
        }
    }
 
    /**
     * This is where we can add markers or lines, add listeners or move the camera. In this case, we
     * just add a marker near Africa.
     * <p/>
     * This should only be called once and when we are sure that {@link #mMap} is not null.
     */
    private void setUpMap() {
        //mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
        String arrayUrl = "id[]=1&id[]=2&id[]=3&id[]=4";
        SuggestionAdapter sa = new SuggestionAdapter();
        sa.execute(arrayUrl);
 
    }
}
класс SuggestionAdapter:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package ilfarsif.myapp_places;
 
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.Filter;
 
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.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
 
    public class SuggestionAdapter extends AsyncTask<String, Void, String> {
 
        public static String LOG_TAG = "my_log";
    HttpURLConnection urlConnection = null;
    BufferedReader reader = null;
    String resultJson = "";
 
    @Override
    protected String doInBackground(String... Params) {
        // получаем данные с внешнего ресурса
 
        try {
            String strUrl = "";
            if( Params.length > 0 ){
                strUrl = Params[0];
            }
 
            URL url = new URL("http://www.p89742wj.bget.ru/test3.php?"+ strUrl);//id[]=1&id[]=2&id[]=3
 
            urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("GET");
            urlConnection.connect();
 
            InputStream inputStream = urlConnection.getInputStream();
            StringBuffer buffer = new StringBuffer();
 
            reader = new BufferedReader(new InputStreamReader(inputStream));
 
            String line;
            while ((line = reader.readLine()) != null) {
                buffer.append(line);
            }
 
            resultJson = buffer.toString();
 
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resultJson;
    }
 
    @Override
    protected void onPostExecute(String strJson) {
        super.onPostExecute(strJson);
        // выводим целиком полученную json-строку
        Log.d(LOG_TAG, strJson);
 
        JSONObject dataJsonObj = null;
        String idByMagName = "";
 
        try {
 
            dataJsonObj = new JSONObject(strJson);
 
            //--
            JSONObject mag  = dataJsonObj.getJSONObject("idMag");
            idByMagName = mag.getString("idd");
            Log.d(LOG_TAG, "Дешевый Магазин: " + idByMagName);
            //--
            JSONArray products  = dataJsonObj.getJSONArray("Mag");
            for (int i = 0; i < products.length(); i++) {
                JSONObject obj = products.getJSONObject(i);
                String Id = obj.getString("id_mag");
                String Adress = obj.getString("adress");
                //String LL = obj.getString("latlng");
                String Lat=obj.getString("lat");
                String Lng=obj.getString("lng");
 
                double latitude = Double.parseDouble(Lat);//String LL ConvertTO LLDouble
                double longitude = Double.parseDouble(Lng);
                int iddd = Integer.parseInt(Id);
                int dii = Integer.parseInt(idByMagName);
 
                Log.d(LOG_TAG, "id: " + Id);
                Log.d(LOG_TAG, "adress: " + Adress);
                Log.d(LOG_TAG, "lat: " + Lat);
                Log.d(LOG_TAG, "lang: " + Lng);
 
               /* LatLng latLng_new = new LatLng(latitude, longitude);
                mMap.addMarker(new MarkerOptions().position(latLng_new).title("Marker 1"));*/
 
 
 
 
 
 
 
 
            }
 
 
 
 
 
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru