android实现进入百度地图后自动显示兴趣点

本来已经实现点击一个按钮,然后根据屏幕中心坐标显示周围兴趣点的功能。

现在想实现进入app之后直接显示兴趣点的功能(粗略一想,很简单嘛,就触发类似一个click事件嘛),思路: 进入地图,1.等待地图加载完成(在地图加载好的回调函数中写接下去的代码)----2.获取屏幕经纬度----3.兴趣点搜索

后来发现还是会在

GeoPoint pPoint=mMapView.getProjection().fromPixels(0,0);
                                float la=(float) (pPoint.getLatitudeE6()/1000000.0);
                                float lo=(float) (pPoint.getLongitudeE6()/1000000.0);
中报空指针错误。后来在百度开发者论坛中提问发现,获取屏幕坐标函数 需要opengl绘制完成才行。

后来想了种方法就是:在地图加载完成后,延迟两秒钟加载取屏幕坐标函数。

		@Override
			public void onMapLoadFinish() {
				//TODO:		
				 new Handler().postDelayed(new Runnable(){

						@Override
						public void run() {
							showLoggingIntheScreen();
							
						}}, 2000);
			
			}

有兴趣的话可以看下 showLoggingIntheScreen()

	private void showLoggingIntheScreen() {
		//取得屏幕中心点的屏幕坐标偏移.
		Point p=mMapView.getCenterPixel();
		//取得屏幕中心点的坐标
		GeoPoint pPoint=mMapView.getProjection().fromPixels(p.x,p.y);
		float la=(float) (pPoint.getLatitudeE6()/1000000.0);
		float lo=(float) (pPoint.getLongitudeE6()/1000000.0);
		System.out.println("可能中心点:"+la+"long:"+lo);
		String pixsCenterPoint=""+lo+","+la;
		//附近搜索menu
		//清除pop   居然解决了 点击图片,不弹出的问题
		if(popImageview!=null)
			popImageview.hidePop();
		if(pop!=null)
			pop.hidePop();		
		//清理地图
		 mMapView.getOverlays().clear();
		 //清除图片,    图片在	 mMapView.getOverlays().clear();中居然不能清除
		 mMapView.removeView(imageView_popPhoto);
		 mMapView.refresh();
		 //画自己所在的位置
	        mylocationOverlay=new MyLocationOverlay(mMapView);  
	        mylocationOverlay.enableCompass();	    	
	        mMapView.getOverlays().add(mylocationOverlay);
		 
		NearbySearchInfo info = new NearbySearchInfo();
		info.ak = "4674a004717700fd5be7173f20142683";
		//info.geoTableId =47633 ;
		info.geoTableId =47911 ;
		//当前坐标位置
		/*String NowLocation=""+locData.longitude+","+locData.latitude;*/
		//屏幕中心坐标位置		
		info.location=pixsCenterPoint;
		/**
		 * 这里可以填写关键字,进行搜多,暂时觉得这个搜索没用 info.q
		 * */

	
		//info.location = "120.110141,30.269475";
		
		info.radius = searchWidth;
		info.pageSize=50;
		CloudManager.getInstance().nearbySearch(info);	
		
	}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值