KakaoMap API
17969 ワード
🧻 Preboardの中古市場部分では、商品登録時に取引先を設定するため、KACAが提供する「KACA地図API」を学びます.🚽
Kakamap API接続を受信するためhttps://apis.map.kakao.com/
アプリケーションを作成し、JavaScript Key値を使用するアプリケーションキーを生成します.
使用中のサイトドメインアドレスを入力します.
マニュアルを見てコードを書きにくい.サーバ側レンダリングをサポートする「Next JS」では、ドキュメントオブジェクトが画面を追加する前に生成されない値(=undefined)を持つため、異なる方法で実装できます.
KakaoMapが提供した
▶ラベルに|4|を入れる.srcプロパティを使用してcaoマッピングのスクリプトを取得し、JavaScript Key値を入力します.これによりcaoマッピングのスクリプトファイルを呼び出すことができます.
見出しラベル
Next(次のステップ)は、HTMLから
地図をダウンロードしてブラウザに保存します.したがって、サーバは存在しません.window.kakaoでみんなに伝えなきゃ
クリックした場所にタグを表示
https://apis.map.kakao.com/web/sample/addMapClickEventWithMarker/
このコードを追加します.
ココア地図
Kakamap API接続を受信するためhttps://apis.map.kakao.com/
アプリケーションを作成し、JavaScript Key値を使用するアプリケーションキーを生成します.
使用中のサイトドメインアドレスを入力します.
マニュアルを見てコードを書きにくい.サーバ側レンダリングをサポートする「Next JS」では、ドキュメントオブジェクトが画面を追加する前に生成されない値(=undefined)を持つため、異なる方法で実装できます.
ココアマップ登録ページ
KakaoMapが提供した
script
を私のプロジェクトに適用する必要があります.▶ラベルに|4|を入れる.srcプロパティを使用してcaoマッピングのスクリプトを取得し、JavaScript Key値を入力します.これによりcaoマッピングのスクリプトファイルを呼び出すことができます.
見出しラベル
Next(次のステップ)は、HTMLから
Head
タグに他の機能を呼び出します.jsのscript
コンポーネントを使用して、同じ機能を使用できます.Head
を使用して、ページをレンダリングし、ドキュメントオブジェクトを作成した後に、コカソマッピングを呼び出すことができます.Head
:地図を含む領域を設定し、useEffect
:初期位置値を設定地図をダウンロードしてブラウザに保存します.したがって、サーバは存在しません.window.kakaoでみんなに伝えなきゃ
import Head from "next/head";
import { useEffect } from "react";
declare const window: typeof globalThis & {
kakao: any;
};
export default function KakaoMapPage() {
useEffect(() => {
// 카카오 맵을 호출하는 JS
const container = document.getElementById("map"); // 지도를 담을 영역의 DOM 레퍼런스
const options = {
// 지도를 생성할 때 필요한 기본 옵션
center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표.
level: 3, // 지도의 레벨(확대, 축소 정도)
};
const map = new window.kakao.maps.Map(container, options); // 지도 생성 및 객체 리턴
console.log(map);
}, []);
return (
<>
<Head>
<script
type="text/javascript"
src="//dapi.kakao.com/v2/maps/sdk.js?appkey=5c3f3b5fa1a016d4a491f6dc430152fe"
></script>
</Head>
// 카카오 맵을 출력하는 HTML
<div id="map" style={{ width: "500px", height: "400px" }}></div>
</>
);
}
containeer
options
を指定する必要があります.この場合、&roscript.src
に接続されます.https://apis.map.kakao.com/web/sample/addMapClickEventWithMarker/
このコードを追加します.
export default function KakaoMapRoutedPage() {
useEffect(() => {
const script = document.createElement("script"); // script 태그를 만든다.
script.src =
"//dapi.kakao.com/v2/maps/sdk.js?autoload=false&appkey=---f-b5-a1a-1-d4-4-1-6-c-30--2-e";
document.head.appendChild(script); // appendChild 자식으로 추가
script.onload = () => {
window.kakao.maps.load(() => {
const container = document.getElementById("map"); // 지도를 담을 영역의 DOM 레퍼런스
const options = {
// 지도를 생성할 때 필요한 기본 옵션
center: new window.kakao.maps.LatLng(
37.51719553992789,
126.95962070083127
), // 지도의 중심좌표.
level: 3, // 지도의 레벨(확대, 축소 정도)
};
const map = new window.kakao.maps.Map(container, options); // 지도 생성 및 객체 리턴
console.log(map);
//마커
// 지도를 클릭한 위치에 표출할 마커입니다
const marker = new window.kakao.maps.Marker({
// 지도 중심좌표에 마커를 생성합니다
position: map.getCenter(),
});
// 지도에 마커를 표시합니다
marker.setMap(map);
// 지도에 클릭 이벤트를 등록합니다
// 지도를 클릭하면 마지막 파라미터로 넘어온 함수를 호출합니다
window.kakao.maps.event.addListener(
map,
"click",
function (mouseEvent: { latLng: any }) {
// 클릭한 위도, 경도 정보를 가져옵니다
const latlng = mouseEvent.latLng;
// 마커 위치를 클릭한 위치로 옮깁니다
marker.setPosition(latlng);
}
);
});
};
}, []);
return (
<>
<div id="map" style={{ width: "500px", height: "400px" }}></div>
</>
);
注:kakaomapReference
この問題について(KakaoMap API), 我々は、より多くの情報をここで見つけました https://velog.io/@h1225hs/KakaoMapAPIテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol