Android下实现Google街景
16lz
2021-01-26
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() {//为按钮添加监听器@Overridepublic 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的ActionUri uri = Uri.parse(sUrl);//生成Uri对象i.setData(uri);//设置Intent的DatastartActivity(i);//发出Intent启动街景服务程序}}); }}
更多相关文章
- 阿里云消息推送服务
- Android(安卓)Touch事件获取手指触摸位置
- Socket 通信原理 -- Android客户端和服务器以TCP&&UDP方式互通
- Android添加可拖动、点击的悬浮窗口
- Android它Service
- android 使用 surfaceView 获取 camera 预览界面图像数据
- 保护Android上的通信安全
- Android(安卓)PC投屏简单尝试—最终章1
- 通过Python 获取Android设备信息的轻量级框架