Android下实现Google街景

Android下实现Google街景

 

Google街景确实是一个比较有趣的东西,准确来说它不是个东西,它是一个服务。是Google公司提供的一个服务。在现在很多手机上都加入了Google街景服务,起初没有去玩,后来接触了一下,感觉蛮不错的,能看到自己没去过的一些城市、国家的地方。

 

那如何在Android平台下实现Google街景服务呢,有以下几个步骤:

1.创建一个Google API 下的模拟器,这个很重要(在其他版本的模拟器下运行会失败)。

2.在程序中调用Google街景。

3.发挥你的想象力。

 

 

项目运行效果图:

                               

 

 

 

 

 神奇的东西来了,我们可以查看自己定位的地区的街景,目前我知道好像只有美国的部分地区才有相应的街景。

可以看到项目运行结果有一个小人,我们可以控制这个小人进行移动。可以像个小偷一样随意观看,当然看到的东西都是静态的。

下面是这个项目的源代码:

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
	<LinearLayout 
	    android:orientation="horizontal"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    >
	    <TextView
	        android:text="@string/tvLong"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:layout_gravity="center_vertical"
	        />
	    <EditText 
	        android:id="@+id/etLong"
	        android:singleLine="true"
	        android:text="-122.423743"
	        android:layout_width="100px"
	        android:layout_height="45px"/>
	    <TextView 
	        android:text="@string/tvLat"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:layout_gravity="center_vertical"
	        android:paddingLeft="8px"/>
	    <EditText 
	        android:id="@+id/etLat"
	        android:singleLine="true"
	        android:text="37.788487"
	        android:layout_width="100px"
	        android:layout_height="45px"/>
	</LinearLayout>
	<Button 
	    android:id="@+id/btn"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:text="@string/btn"/>
</LinearLayout>


GoogleStreetView.java

public class GoogleStreetView extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn = (Button)findViewById(R.id.btn);	//获得Button对象
        btn.setOnClickListener(new View.OnClickListener() {	//为按钮添加监听器
			@Override
			public void onClick(View v) {				//重写onClick方法
				EditText etLong = (EditText)findViewById(R.id.etLong);	//获取EditText控件
				EditText etLat = (EditText)findViewById(R.id.etLat);	//获取EditText控件
				String sLong = etLong.getEditableText().toString().trim();	//获取输入的经度
				String sLat = etLat.getEditableText().toString().trim();	//获取输入的纬度
				if(sLong.equals("") || sLat.equals("")){		//如果没有输入经度或纬度
					Toast.makeText(GoogleStreetView.this, 
									"请输入正确的经纬度!", 
									Toast.LENGTH_LONG).show();	//输出错误信息
					return;										//返回
				}
				String sUrl = "google.streetview:cbll="+sLat+","+sLong;	//生成Uri字符串
				Intent i = new Intent();							//创建Intent对象
				i.setAction(Intent.ACTION_VIEW);				//设置Intent的Action
				Uri uri = Uri.parse(sUrl);						//生成Uri对象
				i.setData(uri);									//设置Intent的Data
				startActivity(i);								//发出Intent启动街景服务程序
			}
		});
    }
}


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小巫技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值