リーフレット.jsで標高を取得する
Leaflet.js は、以下に基づいた強力な Web ツールです。 GIS (地理情報システム)。以下は、ユーザーが特定の場所をクリックした後、地形の標高を取得する方法を示しています。 api 無料の https://open-elevation.com/

地図上の任意の点をクリックして標高を取得します
コード例 (Javascript)
       // Initialize the map
        var map = L.map('map').setView([0, 0], 2);

        // Add OpenStreetMap tiles
        L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
            maxZoom: 18,
            attribution: '© OpenStreetMap contributors'
        }).addTo(map);

        // Función para manejar clics en el mapa
        function onMapClick(e) {

            const form_data = new FormData();
            form_data.append('lat', e.latlng.lat);
            form_data.append('lng', e.latlng.lng);
            fetch("ajax.php", {
                method: "POST",
                body: form_data
            }).then(function(response) {
                return response.json();
            }).then(function(data) {
                if (!data.success) return;
                const json = JSON.parse(data.json);
                const elevation = json.results[0].elevation;

                L.popup()
                    .setLatLng([lat, lng])
                    .setContent('Elevation: ' + elevation + ' meters')
                    .openOn(map);
                
            });

            // Obtener las coordenadas clickeadas
            var lat = e.latlng.lat;
            var lng = e.latlng.lng;
        };

        // Añadir el listener de clics en el mapa
        map.on('click', onMapClick);
            
            
リクエストを処理する PHP (ajax.php)
$response = new stdClass();
$response->success = false;
$response->json = null;
$response->lat = filter_input(INPUT_POST, 'lat');
$response->lng = filter_input(INPUT_POST, 'lng');

$response->url = "https://api.open-elevation.com/api/v1/lookup?locations=". $response->lat . "," . $response->lng; 

$json = file_get_contents($response->url);

if ($json) {
    
    $response->json = $json;
    $response->success = true;
    
}

echo json_encode($response);


Comentar:
captcha

Comentarios: Sin comentarios

以下に、PyQt6 を正しくインストールするために必要なコマンドを示します。...

Seguir leyendo...

以下は、Leaflet.js と無料の Open-Meteo API を使用して気象データを取得する方法の例です。...

Seguir leyendo...

機械翻訳タスクの場合、Transformer アーキテクチャに基づくモデルが非常に効果的であることが証明されています。...

Seguir leyendo...

次の記事では、JavaScript を使用してカメラとオーディオを有効にする方法の基本的な例を示します。...

Seguir leyendo...

適切なインデントにより、HTML コードが読みやすく、理解しやすくなります。 HTML タグが適切に編成され、正しくネストされている場合、開発者はドキュメントの構造を識別し、どの要素に他の...

Seguir leyendo...

適切にフォーマットされたコードは、スタイルの適用方法とルールのグループ化方法についての明確な視覚的なガイドを提供します。 CSS コードを適切にインデントすると保守が容易になります...

Seguir leyendo...

JavaScript コードをインデントすると、コードの美しさが向上するだけでなく、ソフトウェアの読みやすさ、保守、共同作業、および全体的な品質が容易になるという実用的な利点も得られます。...

Seguir leyendo...

Web 上の (GIS) は、空間データと対話する方法に革命をもたらしました。以下に最も重要な JS ライブラリを示します。...

Seguir leyendo...

HTML の audio 要素は、サウンド コンテンツを Web ページに統合するための強力なツールです。...

Seguir leyendo...

video 要素は、開発者が Web ページにビデオを直接埋め込むことができるため、HTML5 の最も顕著な機能の 1 つです。...

Seguir leyendo...

ピクセルをemに変換する方法を学びます...

Seguir leyendo...

Android アプリケーション開発における Java に対する Kotlin の利点を探ります。...

Seguir leyendo...