Android studio 百度地图开发(5)查询周边服务(加油站)
email:chentravelling@163.com
开发环境:win7 64位,Android Studio,请注意是Android Studio,使用的导航SDK版本:3.1.0。
- 百度地图应用(1):Android studio 百度地图开发(1)配置工程、显示地图
- 百度地图应用(2):Android studio 百度地图开发(2)地图定位
- 百度地图应用(3):Android studio 百度地图开发(3)地图导航
- 百度地图应用(4):Android studio 百度地图开发(4)触摸选点、地理编码
一.功能描述
大致功能为:通过百度地图定位获得当前位置,然后通过加油站数据接口(https://www.juhe.cn/docs/api/id/7)搜索周边的加油站信息,并在地图上显示。这里,我把访问加油站数据接口的部分放在了服务器上,因为后期还有一些其他功能,不可能都放在手机端去实现。
二.实现部分
1.加油站数据接口
需要先申请api_key,很简单,没有百度地图的API_KEY那么复杂,地址:https://www.juhe.cn/docs/api/id/7。
2.搭建服务器
这部分,本人不知道怎么去描述,因为有web基础,使用过SSM(spring+springMVC+Mybatis)架构,所以还是继续使用SSM。关于SSM架构的服务器环境搭建,资料很多,就不赘述了,而且,主要功能并不在于服务器上,换一个架构甚至“没有架构”都行。
在服务器端主要要实现对加油站数据的访问,按照官方的API说明,通过以下代码实现了数据访问:
package com.intveh.component.gas.controller;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;