@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; }
@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(); }
@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, "将短串分享到")); } }); }
@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); }