在Async Task onPostExecute方法中更改标记图标

时间:2014-05-04 13:32:27

标签: android google-maps google-maps-markers google-maps-api-2

我试图在onPostExecute方法中的Async Task类中添加自定义标记。但是当我尝试更改标记图标"。(BitmapDescriptorFactory.fromResource(R.drawable。)"时,我在该方法中看不到可绘制文件夹的图像。可能是什么问题?

@Override
protected void onPostExecute(JSONObject jobject) {        

    try { 

        // ...

        MarkerOptions bingTrafficMarker = new MarkerOptions()
            .position(positionLatLng)
            .title(strdescription);

        gm.addMarker(bingTrafficMarker); 

        // ...            
    }
}   

1 个答案:

答案 0 :(得分:0)

我在onPostExecute中使用了一个回调方法让我回到我的主类。

这就是我做的事情

AsyncTask的代码

class AsyncRequest extends AsyncTask<String, Void, Document> {
@Override
protected void onPreExecute() {
}

public interface OnTaskCompleted {

    public abstract void findGeoCode(Document resultCode, String direction);
}

private OnTaskCompleted listener;

public AsyncRequest(OnTaskCompleted listener) {
    this.listener = listener;
}

@Override
protected void onPostExecute(Document result) {
    if (listener != null) {
        listener.findGeoCode(result, direction);
    }
}

实现接口回调的主类的代码

private OnTaskCompleted listener = new OnTaskCompleted() {
    @Override
    public void findGeoCode(Document resultCode, String direction) {
        // TODO Auto-generated method stub
        LatLng cord = getLocateAddress(resultCode);
    }

调用方法

new AsyncRequest(listener).execute(paras)

希望这个帮助