> Java > java지도 시간 > 본문

Baidu Maps의 위치 검색 API를 통해 Java 코드를 사용하여 특정 유형의 주변 비즈니스 구역을 찾는 방법은 무엇입니까?

王林
풀어 주다: 2023-07-31 12:45:09
원래의
1043명이 탐색했습니다.

바이두 지도의 위치 검색 API를 통해 Java 코드를 사용하여 특정 유형의 주변 비즈니스 지역을 찾는 방법은 무엇입니까?

소개:
현대 사회에서는 여행이든 사업 점검이든 주변 상권에 대한 정보를 아는 것이 매우 중요합니다. 바이두 지도는 프로그래밍을 통해 특정 위치 주변의 상권 정보를 얻을 수 있는 위치 검색 API를 제공합니다. 이 기사에서는 Java 코드를 사용하여 이 기능을 구현하는 방법을 소개합니다.

전제 준비 사항:
Baidu Map API를 사용하기 전에 Baidu Open Platform(http://lbsyun.baidu.com/)에 가서 등록하고 애플리케이션을 생성한 후 해당 개발자 키(ak)를 받아야 합니다. 개발자 키를 획득한 후 Baidu Map API에서 제공하는 서비스를 사용할 수 있습니다.

1단계: 관련 종속성 가져오기
먼저, Baidu Map API에 대한 호출을 구현하기 위해 Java 프로젝트에서 관련 종속성 패키지를 가져와야 합니다. pom.xml 파일에 다음 종속성 콘텐츠를 추가합니다.

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.9</version>
</dependency>
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>
로그인 후 복사

2단계: 도구 클래스 작성
다음으로 Baidu Map API를 호출하고 반환된 결과를 구문 분석하는 도구 클래스를 작성합니다. 이 도구 클래스에서는 다음 메서드를 구현해야 합니다.

import com.google.gson.Gson;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URLEncoder;

public class BaiduMapUtils {
    private static final String AK = "your_ak";

    public static String searchAround(String query, String location) {
        HttpClient client = HttpClientBuilder.create().build();
        try {
            query = URLEncoder.encode(query, "UTF-8");
        } catch (IOException e) {
            e.printStackTrace();
        }
        String url = "http://api.map.baidu.com/place/v2/search?query=" + query + "&location=" + location + "&radius=2000&output=json&ak=" + AK;
        HttpGet request = new HttpGet(url);
        try {
            HttpResponse response = client.execute(request);
            BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            StringBuilder result = new StringBuilder();
            
            String line;
            while ((line = rd.readLine()) != null) {
                result.append(line);
            }
            
            return result.toString();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        return null;
    }

    public static void main(String[] args) {
        String result = searchAround("美食", "31.12345,121.67890");
        Gson gson = new Gson();
        PlaceSearchResponse response = gson.fromJson(result, PlaceSearchResponse.class);
        if (response.getStatus() == 0) {
            for (PlaceSearchResponse.Result result : response.getResults()) {
                System.out.println(result.getName());
            }
        }
    }
}
로그인 후 복사

위 코드에서는 먼저 개발자 키를 저장할 상수 AK를 정의합니다. 그런 다음 HttpClient를 사용하여 HTTP 요청을 보내고 HttpGet 메서드를 사용하여 반환된 결과를 얻습니다. 마지막으로 Gson을 사용하여 반환된 결과를 구문 분석하고 상권 이름을 출력합니다.

3단계: 컴파일 및 실행
위의 코드 작성이 완료되면 프로그램을 컴파일하고 실행해야 합니다. 완료하려면 아래 단계를 따르세요.

  1. 명령줄이나 터미널을 엽니다.
  2. 프로젝트가 있는 디렉터리를 입력합니다.
  3. 다음 명령을 실행하여 컴파일합니다.
mvn clean package
로그인 후 복사
  1. 컴파일이 성공한 후 다음 명령을 실행합니다. 프로그램을 실행하려면:
java -jar target/your_jar_name.jar
로그인 후 복사

위 단계를 완료하면 반환된 상권 이름이 콘솔에 표시됩니다.

요약:
이 글의 소개를 통해 바이두 지도의 위치 검색 API를 통해 Java 코드를 사용하여 특정 유형의 주변 상권을 찾는 방법을 배웠습니다. 몇 가지 간단한 단계만 거치면 프로그래밍을 통해 주변 상권에 대한 정보를 얻을 수 있어 생활과 업무에 편리함을 가져다 줍니다. 이 기사가 도움이 되기를 바랍니다!

위 내용은 Baidu Maps의 위치 검색 API를 통해 Java 코드를 사용하여 특정 유형의 주변 비즈니스 구역을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!