Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 8

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

07.05.2015, 21:34. Показов 2711. Ответов 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();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2015, 21:34
Ответы с готовыми решениями:

Добавление маркеров на карту Google Maps API v2
Доброго времени суток. форумчане! Есть карта, маркеры на которую ставятся путем загрузки значений местоположения из базы данных. Но...

Google Maps API v2 добавление своих маркеров и фото к ним
Собственно,как добавлять маркер по нажатию на карту вроде бы разобрался: map.setOnMapClickListener(new OnMapClickListener() { ...

Добавление маркеров в Google maps
Здравствуйте, необходимо добавить возможность создавать маркеры в самом приложении и давать им названия. Добавлять их по нажатию на экран...

1
 Аватар для dajver
411 / 275 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
07.05.2015, 23:02
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
 
              Marker melbourne = mMap.addMarker(new MarkerOptions()
                          .position(new LatLng(latitude , longitude))
                          .title("Melbourne")
                          .snippet("Population: 4,137,400"));
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2015, 23:02
Помогаю со студенческими работами здесь

Google Maps API Вывод маркеров из БД
Здравствуйте, как вывести маркеры из БД на карту гугл? Делаю так: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Simple...

(добавление маркеров Google Maps касанием по экрану) android stuido,kotlin
Есть программа, которая уведомляет пользователя, если тот находиться в Опасной Зоне(координаты сохраняются в Firebase). Как сделать так,...

Google Maps API: Как вывести карту на форму
Как вывести на форме карту Google Maps? Чтобы можно было ввести в textBox улицу, город и она тут же находилась на карте. Только без...

Google maps API: можно ли на карту помещать свои маркеры
Доброго времени суток. У меня есть WinForms приложение, на котором отображается карта google maps api. вопрос: можно ли помещать на эту...

Несколько маркеров на Google Maps
Здравствуйте. Нужна помощь. Есть готовый рабочий исходный код гугл карты. Как добавить несколько маркеров и подписей к ним? Только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru