3

Google マップに複数のマーカーを表示したい。座標はParselatlngデータベースから取得されますが、マーカーが表示されません。2 つ目の問題は、タイトルにレストラン名をマーカーで表示したいのですが、どうすればよいですか?

これは私のコードです:

private class putMarker extends AsyncTask> {

        @オーバーライド
        protected ArrayList doInBackground(Void... params) {
            // TODO 自動生成メソッド スタブ
            試す {

                Toast.makeText(getApplicationContext(),
                        経度 + " " + 緯度、Toast.LENGTH_SHORT).show();

                ParseQuery クエリ = 新しい ParseQuery(
                        "詳細");
                ParseGeoPoint myGeoPiont = new ParseGeoPoint(緯度,
                        経度);
                query.whereNear("場所", myGeoPiont);
                query.setLimit(10);
                ob = query.find();
                for (ParseObject resObj : ob) {
                    ParseGeoPoint の場所 = resObj
                            .getParseGeoPoint("場所");
                    restaurantName = (文字列) resObj.get("レストラン名");
                    LatLng resLatLng = new LatLng(location.getLatitude(),
                            location.getLongitude());
                    Toast.makeText(getApplicationContext(),
                            restaurantName, Toast.LENGTH_SHORT)
                            。見せる();
                    PiontList.add(resLatLng);
                }

            キャッチ(例外e){
                // TODO: 例外を処理する
            }
            PiontList を返します。
        }
        protected void onPostExecute(ArrayList latlngList) {
            for(LatLng res: latlngList)
            {
                MarkerOptions markerOptions = new MarkerOptions();
                markerOptions.position(res);
                markerOptions.icon(BitmapDescriptorFactory
                        .defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
                googleMap.addMarker(マーカーオプション);
            }
        }

    }

私を助けてください。

4

3 に答える 3

0

これを試して

//  Create lat long points
Latlng[] point_new = new LatLng[8];
                point_new[0] = new LatLng(31.5301843, 74.3207487);
                point_new[1] = new LatLng(31.5214693,74.3236027);
                point_new[2] = new LatLng(31.5194393, 74.3257327);
                point_new[3] = new LatLng(31.4942166, 74.3004533);
                point_new[4] = new LatLng(31.4864646, 74.2911203);
                point_new[5] = new LatLng(31.4803596, 74.2787933);
                point_new[6] = new LatLng(31.4764716, 74.2638203);
                point_new[7] = new LatLng(31.4775236, 74.2628873);
//  Add markers 

 for (int i = 0; i < point_new.length; i++) {
                    MarkerOptions markerOptions = new MarkerOptions()
                            .position(point_new[i]);
                    marker = mMap.addMarker(markerOptions);
                    marker.setTitle("Points");
                    marker.setSnippet("Distance = 9.6 km, Time = 20 minute/s");
                    marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.p));
}

// ズーム レベル 9 でカメラを最後のポイントに設定します

mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(point_new[7], 9));
于 2015-12-09T06:13:10.150 に答える