package com.github.yingzhuo.spring.auto.baidulbs.core; import com.github.yingzhuo.spring.auto.baidulbs.domain.Location; import com.github.yingzhuo.spring.auto.baidulbs.domain.PlaceResult; import com.github.yingzhuo.spring.auto.baidulbs.domain.PlaceSuggestion; import java.util.List; public interface BaiduLbsService { /** * 根据城市检索地点 * * @param query 检索关键字 如: 银行,饭店等 * @param region 城市名称 如: 北京,上海等 * @param pageNum 页码(从0开始) * @param pageSize 每页条目数 * @return 结果 */ public List<PlaceResult> searchPlace(String query, String region, int pageNum, int pageSize); /** * 在方形区域检索地点 * * @param query 检索关键字 如: 银行,饭店等 * @param x1 左上经度 * @param y1 左上纬度 * @param x2 右下经度 * @param y2 右下纬度 * @param pageNum 页码(从0开始) * @param pageSize 每页条目数 * @return 结果 */ public List<PlaceResult> searchPlace(String query, double x1, double y1, double x2, double y2, int pageNum, int pageSize); /** * 在圆形区域内检索地点 * * @param query 检索关键字 如: 银行,饭店等 * @param x 圆心经度 * @param y 圆心纬度 * @param radius 半径(米) * @param pageNum 页码(从0开始) * @param pageSize 每页条目数 * @return 结果 */ public List<PlaceResult> searchPlace(String query, double x, double y, int radius, int pageNum, int pageSize); /** * 获取地点推荐 * * @param query 检索关键字 如: 银行,饭店等 * @param region 城市名称 如: 北京,上海等 * @return 结果 */ public List<PlaceSuggestion> searchPlaceSuggestion(String query, String region); /** * 通过ip推算出地理位置 * * @param ip IP地址 * @return 地理位置信息 */ public Location ip2Location(String ip); }