Bonjour,
Je suis en train de développer une application Android qui va me permettre de géolocaliser des distributeurs. J'ai déjà créé la base de données et j'ai un webservice (sous Tomcat) pour récupérer les données. Mon problème est que je ne peux pas afficher les marqueurs sur la carte.
Voici le code que j'ai déjà réalisé :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
126
127
128
129
130
131
132
133
134
135
136
137
138
public class MapsActivity extends FragmentActivity implements LocationListener {
    LoginTask loginTask;
    Marker markers ;
     MarkerOptions marker;
    private ProgressDialog progressDialog;
 
    private GoogleMap mMap;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
 
        Map();
        SupportMapFragment mf=(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mMap = mf.getMap();
        mMap.setMyLocationEnabled(true);
        mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        //addTwitterMap();
        //addTwitterMap1();
        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();
            }
        }
 
    }
 
 
    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }
 
    public void Map() {
 
        if (loginTask != null
                && loginTask.getStatus() != LoginTask.Status.FINISHED) {
            loginTask.cancel(true);
        }
        loginTask = (LoginTask) new LoginTask()
                .execute(0);
    }
 
    @Override
    public void onLocationChanged(Location location) {
 
    }
 
    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
 
    }
 
    @Override
    public void onProviderEnabled(String provider) {
 
    }
 
    @Override
    public void onProviderDisabled(String provider) {
 
    }
 
 
 
 
    class LoginTask extends
            AsyncTask<Integer, Integer, Integer> {
 
        List<Exception> exceptions = new ArrayList<Exception>();
 
        @Override
        protected void onPreExecute() {
            progressDialog = new ProgressDialog(MapsActivity.this);
            progressDialog.setMessage(getResources()
                    .getString(R.string.working));
            progressDialog.show();
            super.onPreExecute();
        }
 
        @Override
        protected void onProgressUpdate(Integer... values) {
            super.onProgressUpdate(values);
 
        }
 
        @Override
        protected Integer doInBackground(Integer... requests) {
 
            try {
 
 
                ObjectMapper mapper = new ObjectMapper();
 
                HttpGet request = new HttpGet(ApplicationProperties.getInstance().getServiceUrl()
                        + "/service/dab");
 
                HttpResponse response = new DefaultHttpClient().execute(request);
 
                List<Dab> dabList = mapper.readValue(Utils.stringFromInputStream(response.getEntity().getContent()),
                        mapper.getTypeFactory().constructCollectionType(List.class, Dab.class));
 
                for (Dab dab:dabList) {
                    markers = mMap.addMarker(new MarkerOptions()
                            .position(new LatLng(dab.getLatitude(), dab.getLongitude()))
                            .position(new LatLng(dab.getLatitude(), dab.getLongitude()))
                            .title(dab.getAdresse())
                            .snippet(dab.getAdresse())
                            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
                }
 
            } catch (Exception e) {
                exceptions.add(e);
            }
 
            return 0;
        }
 
        @Override
        protected void onPostExecute(Integer result) {
 
            progressDialog.dismiss();
 
            if (exceptions.size() > 0) {
 
                mMap.addMarker(marker);
            }