예제 #1
0
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   /**
    * 使用地图sdk前需先初始化BMapManager. BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建,
    * 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁
    */
   DemoApplication app = (DemoApplication) this.getApplication();
   if (app.mBMapManager == null) {
     app.mBMapManager = new BMapManager(getApplicationContext());
     /** 如果BMapManager没有初始化则初始化BMapManager */
     app.mBMapManager.init(DemoApplication.strKey, new DemoApplication.MyGeneralListener());
   }
   /** 由于MapView在setContentView()中初始化,所以它需要在BMapManager初始化之后 */
   setContentView(R.layout.activity_uisetting);
   mMapView = (MapView) findViewById(R.id.bmapView);
   /** 获取地图控制器 */
   mMapController = mMapView.getController();
   /** 设置地图是否响应点击事件 . */
   mMapController.enableClick(true);
   /** 设置地图缩放级别 */
   mMapController.setZoom(12);
   /** 设置地图俯角 */
   mMapController.setOverlooking(-30);
   /**
    * 将地图移动至天安门 使用百度经纬度坐标,可以通过http://api.map.baidu.com/lbsapi/getpoint/index.html查询地理坐标
    * 如果需要在百度地图上显示使用其他坐标系统的位置,请发邮件至[email protected]申请坐标转换接口
    */
   double cLat = 39.945;
   double cLon = 116.404;
   GeoPoint p = new GeoPoint((int) (cLat * 1E6), (int) (cLon * 1E6));
   mMapController.setCenter(p);
 }
 @Override
 protected List<JSONObject> doInBackground(Void... params) {
   List<JSONObject> checkins = new ArrayList<JSONObject>();
   try {
     ACSClient sdk = DemoApplication.getSdk();
     Map<String, Object> data = new HashMap<String, Object>();
     data.put("place_id", place.getString("id"));
     CCResponse response =
         sdk.sendRequest("checkins/search.json", CCRequestMethod.GET, data, false);
     JSONObject responseJSON = response.getResponseData();
     CCMeta meta = response.getMeta();
     if ("ok".equals(meta.getStatus())
         && meta.getCode() == 200
         && "searchCheckins".equals(meta.getMethod())) {
       JSONArray checkinsJArray = responseJSON.getJSONArray("checkins");
       for (int i = 0; i < checkinsJArray.length(); i++) {
         checkins.add(checkinsJArray.getJSONObject(i));
       }
     }
   } catch (ACSClientError e) {
     e.printStackTrace();
   } catch (JSONException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
   return checkins;
 }
예제 #3
0
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   /**
    * 使用地图sdk前需先初始化BMapManager. BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建,
    * 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁
    */
   DemoApplication app = (DemoApplication) this.getApplication();
   if (app.mBMapManager == null) {
     app.mBMapManager = new BMapManager(getApplicationContext());
     /** 如果BMapManager没有初始化则初始化BMapManager */
     app.mBMapManager.init(new DemoApplication.MyGeneralListener());
   }
   /** 由于MapView在setContentView()中初始化,所以它需要在BMapManager初始化之后 */
   setContentView(R.layout.activity_panorama_poi_selector);
   initMap();
   initSearcher();
 }
  protected void performCheckin() {

    JSONObject checkin = null;
    String errorMsg = null;
    try {
      ACSClient sdk = DemoApplication.getSdk();
      Map<String, Object> data = new HashMap<String, Object>();
      try {
        data.put("place_id", place.getString("id"));
      } catch (JSONException e) {
        e.printStackTrace();
      }

      CCResponse response =
          sdk.sendRequest("checkins/create.json", CCRequestMethod.POST, data, false);

      JSONObject responseJSON = response.getResponseData();
      CCMeta meta = response.getMeta();
      if ("ok".equals(meta.getStatus())
          && meta.getCode() == 200
          && "createCheckin".equals(meta.getMethod())) {
        JSONArray checkins = null;
        try {
          checkins = responseJSON.getJSONArray("checkins");
          checkin = checkins.getJSONObject(0);
          listOfCheckin.add(0, checkin);
        } catch (JSONException e) {
          e.printStackTrace();
        }
        showCheckins();
      } else {
        errorMsg = meta.getMessage();
      }

    } catch (ACSClientError e) {
      errorMsg = e.getMessage();
    } catch (IOException e) {
      e.printStackTrace();
    }

    if (errorMsg != null) {
      AlertDialog alertDialog = new AlertDialog.Builder(this).create();
      alertDialog.setTitle("Checkin Failed");
      alertDialog.setMessage(errorMsg);
      alertDialog.setButton(
          "OK",
          new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              // here you can add functions
              dialog.dismiss();
            }
          });
      alertDialog.setIcon(R.drawable.icon);
      alertDialog.show();
    }
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.placeview);
    Intent intent = getIntent();
    String p = intent.getStringExtra("place");
    if (p != null) {
      try {
        place = new JSONObject(p);
        TextView name = (TextView) findViewById(R.id.PlaceName);
        name.setText(place.getString("name"));

      } catch (JSONException e) {
        e.printStackTrace();
      }
    }

    View doneButton = findViewById(R.id.done);
    doneButton.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View view) {
            finish();
          }
        });

    View refreshButton = findViewById(R.id.refresh);
    refreshButton.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View view) {
            performRefresh();
          }
        });

    View checkinButton = findViewById(R.id.checkin);
    checkinButton.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View view) {
            performCheckin();
          }
        });

    if (DemoApplication.getSdk().getCurrentUser() == null) {
      // disable check in button
      checkinButton.setEnabled(false);
    } else checkinButton.setEnabled(true);

    new GetCheckinsTask().execute();
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    Log.d("qianjin", "qianjin");
    super.onCreate(savedInstanceState);
    /**
     * 使用地图sdk前需先初始化BMapManager. BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建,
     * 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁
     */
    DemoApplication app = (DemoApplication) this.getApplication();
    if (app.mBMapManager == null) {
      app.mBMapManager = new BMapManager(getApplicationContext());
      /** 如果BMapManager没有初始化则初始化BMapManager */
      app.mBMapManager.init(new DemoApplication.MyGeneralListener());
    }
    setContentView(R.layout.activity_locationoverlay);
    CharSequence titleLable = "定位功能";
    setTitle(titleLable);
    requestLocButton = (Button) findViewById(R.id.button1);
    mCurBtnType = E_BUTTON_TYPE.LOC;
    OnClickListener btnClickListener =
        new OnClickListener() {
          public void onClick(View v) {
            switch (mCurBtnType) {
              case LOC:
                // 手动定位请求
                requestLocClick();
                break;
              case COMPASS:
                myLocationOverlay.setLocationMode(LocationMode.NORMAL);
                requestLocButton.setText("定位");
                mCurBtnType = E_BUTTON_TYPE.LOC;
                break;
              case FOLLOW:
                myLocationOverlay.setLocationMode(LocationMode.COMPASS);
                requestLocButton.setText("罗盘");
                mCurBtnType = E_BUTTON_TYPE.COMPASS;
                break;
            }
          }
        };
    requestLocButton.setOnClickListener(btnClickListener);

    RadioGroup group = (RadioGroup) this.findViewById(R.id.radioGroup);
    radioButtonListener =
        new OnCheckedChangeListener() {

          @Override
          public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (checkedId == R.id.defaulticon) {
              // 传入null则,恢复默认图标
              modifyLocationOverlayIcon(null);
            }
            if (checkedId == R.id.customicon) {
              // 修改为自定义marker
              modifyLocationOverlayIcon(getResources().getDrawable(R.drawable.icon_geo));
            }
          }
        };
    group.setOnCheckedChangeListener(radioButtonListener);

    // 地图初始化
    mMapView = (MyLocationMapView) findViewById(R.id.bmapView);
    mMapController = mMapView.getController();
    mMapView.getController().setZoom(14);
    mMapView.getController().enableClick(true);
    mMapView.setBuiltInZoomControls(true);
    // 创建 弹出泡泡图层
    createPaopao();

    // 定位初始化
    mLocClient = new LocationClient(this);
    locData = new LocationData();
    Log.v("qianjin", "qianjin");
    mLocClient.registerLocationListener(myListener);
    LocationClientOption option = new LocationClientOption();
    option.setOpenGps(true); // 打开gps
    option.setCoorType("bd09ll"); // 设置坐标类型
    option.setScanSpan(1000);
    mLocClient.setLocOption(option);
    mLocClient.start();

    // 定位图层初始化
    myLocationOverlay = new locationOverlay(mMapView);
    // 设置定位数据
    myLocationOverlay.setData(locData);
    // 添加定位图层
    mMapView.getOverlays().add(myLocationOverlay);
    myLocationOverlay.enableCompass();
    // 修改定位数据后刷新图层生效
    mMapView.refresh();
  }
예제 #7
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    DemoApplication app = (DemoApplication) this.getApplication();
    if (app.mBMapManager == null) {
      app.mBMapManager = new BMapManager(this);
      app.mBMapManager.init(DemoApplication.strKey, new DemoApplication.MyGeneralListener());
    }
    setContentView(R.layout.activity_itemizedoverlay);
    mMapView = (MapView) findViewById(R.id.bmapView);
    mMapController = mMapView.getController();
    initMapView();
    mMapView.getController().setZoom(13);
    mMapView.getController().enableClick(true);
    mMapView.setBuiltInZoomControls(true);
    testItemButton = (Button) findViewById(R.id.button1);
    removeItemButton = (Button) findViewById(R.id.button2);
    removeAllItemButton = (Button) findViewById(R.id.button3);

    Drawable marker = ItemizedOverlayDemo.this.getResources().getDrawable(R.drawable.icon_marka);
    mMapView.getOverlays().clear();
    ov = new OverlayTest(marker, this, mMapView);
    mMapView.getOverlays().add(ov);

    OnClickListener clickListener =
        new OnClickListener() {
          public void onClick(View v) {
            testItemClick();
          }
        };
    OnClickListener removeListener =
        new OnClickListener() {
          public void onClick(View v) {
            testRemoveItemClick();
          }
        };
    OnClickListener removeAllListener =
        new OnClickListener() {
          public void onClick(View v) {
            testRemoveAllItemClick();
          }
        };

    testItemButton.setOnClickListener(clickListener);
    removeItemButton.setOnClickListener(removeListener);
    removeAllItemButton.setOnClickListener(removeAllListener);
    mMapListener =
        new MKMapViewListener() {

          @Override
          public void onMapMoveFinish() {
            // TODO Auto-generated method stub

          }

          @Override
          public void onClickMapPoi(MapPoi mapPoiInfo) {
            // TODO Auto-generated method stub
            String title = "";
            if (mapPoiInfo != null) {
              title = mapPoiInfo.strText;
              Toast.makeText(ItemizedOverlayDemo.this, title, Toast.LENGTH_SHORT).show();
            }
          }

          @Override
          public void onGetCurrentMap(Bitmap b) {}

          @Override
          public void onMapAnimationFinish() {
            // TODO Auto-generated method stub

          }
        };
    mMapView.regMapViewListener(DemoApplication.getInstance().mBMapManager, mMapListener);

    res.add(getResources().getDrawable(R.drawable.icon_marka));
    res.add(getResources().getDrawable(R.drawable.icon_markb));
    res.add(getResources().getDrawable(R.drawable.icon_markc));
    res.add(getResources().getDrawable(R.drawable.icon_markd));
    res.add(getResources().getDrawable(R.drawable.icon_markf));
    res.add(getResources().getDrawable(R.drawable.icon_markg));
    res.add(getResources().getDrawable(R.drawable.icon_markh));
    res.add(getResources().getDrawable(R.drawable.icon_marki));

    // overlay 数量
    int iSize = 9;
    double pi = 3.1415926;
    // overlay半径
    int r = 50000;
    // 准备overlay 数据
    for (int i = 0; i < iSize; i++) {
      int lat = (int) (cLat + r * Math.cos(2 * i * pi / iSize));
      int lon = (int) (cLon + r * Math.sin(2 * i * pi / iSize));
      OverlayItem item = new OverlayItem(new GeoPoint(lat, lon), "item" + i, "item" + i);
      item.setMarker(res.get(i % (res.size())));
      mGeoList.add(item);
    }
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    /**
     * 使用地图sdk前需先初始化BMapManager. BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建,
     * 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁
     */
    DemoApplication app = (DemoApplication) this.getApplication();
    if (app.mBMapManager == null) {
      app.mBMapManager = new BMapManager(getApplicationContext());
      /** 如果BMapManager没有初始化则初始化BMapManager */
      app.mBMapManager.init(DemoApplication.strKey, new DemoApplication.MyGeneralListener());
    }
    setContentView(R.layout.activity_share_demo_activity);
    mMapView = (MapView) findViewById(R.id.bmapView);
    mMapView.getController().enableClick(true);
    mMapView.getController().setZoom(12);

    // 初始化搜索模块,注册搜索事件监听
    mSearch = new MKSearch();
    mSearch.init(
        app.mBMapManager,
        new MKSearchListener() {

          @Override
          public void onGetPoiDetailSearchResult(int type, int error) {}
          /** 在此处理poi搜索结果 , 用poioverlay 显示 */
          public void onGetPoiResult(MKPoiResult res, int type, int error) {
            // 错误号可参考MKEvent中的定义
            if (error != 0 || res == null) {
              Toast.makeText(ShareDemoActivity.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();
              return;
            }
            // 将地图移动到第一个POI中心点
            if (res.getCurrentNumPois() > 0) {
              // 将poi结果显示到地图上
              PoiShareOverlay poiOverlay = new PoiShareOverlay(ShareDemoActivity.this, mMapView);
              poiOverlay.setData(res.getAllPoi());
              mMapView.getOverlays().clear();
              mMapView.getOverlays().add(poiOverlay);
              mMapView.refresh();
              // 当ePoiType为2(公交线路)或4(地铁线路)时, poi坐标为空
              for (MKPoiInfo info : res.getAllPoi()) {
                if (info.pt != null) {
                  mMapView.getController().animateTo(info.pt);
                  break;
                }
              }
            }
          }

          public void onGetDrivingRouteResult(MKDrivingRouteResult res, int error) {}

          public void onGetTransitRouteResult(MKTransitRouteResult res, int error) {}

          public void onGetWalkingRouteResult(MKWalkingRouteResult res, int error) {}
          /** 在此处理反地理编结果 */
          public void onGetAddrResult(MKAddrInfo res, int error) {
            // 错误号可参考MKEvent中的定义
            if (error != 0 || res == null) {
              Toast.makeText(ShareDemoActivity.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();
              return;
            }
            AddrShareOverlay addrOverlay =
                new AddrShareOverlay(
                    getResources().getDrawable(R.drawable.icon_marka), mMapView, res);
            mMapView.getOverlays().clear();
            mMapView.getOverlays().add(addrOverlay);
            mMapView.refresh();
          }

          public void onGetBusDetailResult(MKBusLineResult result, int iError) {}

          @Override
          public void onGetSuggestionResult(MKSuggestionResult res, int arg1) {}

          @Override
          public void onGetShareUrlResult(MKShareUrlResult result, int type, int error) {
            // 分享短串结果
            Intent it = new Intent(Intent.ACTION_SEND);
            it.putExtra(
                Intent.EXTRA_TEXT, "您的朋友通过百度地图SDK与您分享一个位置: " + currentAddr + " -- " + result.url);
            it.setType("text/plain");
            startActivity(Intent.createChooser(it, "将短串分享到"));
          }
        });
  }
예제 #9
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    sdk = DemoApplication.getSdk();

    map = (MapView) findViewById(R.id.map);

    map.setBuiltInZoomControls(true);

    Drawable marker = getResources().getDrawable(R.drawable.marker);

    marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());

    overlay = new SitesOverlay(marker);
    map.getOverlays().add(overlay);

    me = new MyLocationOverlay(this, map);
    map.getOverlays().add(me);

    LayoutInflater layoutInflater =
        (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    noteBaloon = (BaloonLayout) layoutInflater.inflate(R.layout.baloon, null);
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(200, 100);
    layoutParams.addRule(RelativeLayout.CENTER_VERTICAL);
    layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
    noteBaloon.setLayoutParams(layoutParams);

    noteBaloon
        .findViewById(R.id.placeInfo)
        .setOnClickListener(
            new View.OnClickListener() {
              public void onClick(View v) {
                overlay.showPlace();
              }
            });
    ((TextView) noteBaloon.findViewById(R.id.placeName)).setTextColor(Color.BLACK);
    ((TextView) noteBaloon.findViewById(R.id.placeAddress)).setTextColor(Color.BLACK);

    final ListView list = (ListView) findViewById(R.id.placeList);
    PlaceAdapter placeAdapter = new PlaceAdapter(this);
    list.setAdapter(placeAdapter);
    list.setClickable(true);
    list.setFocusable(true);
    list.setSelected(true);
    list.setOnItemClickListener(
        new ListView.OnItemClickListener() {
          public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {

            list.setSelection(position);

            JSONObject place = (JSONObject) list.getItemAtPosition(position);

            Intent myIntent = new Intent(getBaseContext(), PlaceView.class);
            myIntent.putExtra("place", place.toString());
            startActivity(myIntent);
          }
        });

    findViewById(R.id.refresh)
        .setOnClickListener(
            new View.OnClickListener() {
              public void onClick(View v) {
                new GetPlacesTask().execute();
              }
            });

    findViewById(R.id.refreshList)
        .setOnClickListener(
            new View.OnClickListener() {
              public void onClick(View v) {
                new GetPlacesTask().execute();
              }
            });

    findViewById(R.id.listButton)
        .setOnClickListener(
            new View.OnClickListener() {
              public void onClick(View v) {
                showListView();
              }
            });
    findViewById(R.id.mapButton)
        .setOnClickListener(
            new View.OnClickListener() {
              public void onClick(View v) {
                hideListView();
              }
            });

    hideListView();
    new GetPlacesTask().execute();
    // findViewById(R.id.listView).setVisibility(View.INVISIBLE);

  }