であるように思わ聞かせ、それゆえあなたは彼らが定義される前にlat
とlong
の両方を使用しようとしているしてください範囲外です。
$(document).ready(function() {
var long;
var lat;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
long = position.coords.longitude;
lat = position.coords.latitude;
$("#data").html("latitude: " + lat + "<br>longitude: " + long);
var api = 'https://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + long + '&appid=7cc72055cf03c02e9bf988f2a7b7b7e2';
$.getJSON(api, function(data) {
console.log(data.coord.lon);
console.log(data);
});
});
}
});
html {
background: url(http://s1.picswalls.com/wallpapers/2016/06/06/beach-desktop-background_090607928_305.jpg)center center fixed;
background-size: cover;
}
header {
font-family: lobster;
color: white;
font-size: 40px;
text-align: center;
margin: 40px;
font-weight: bold;
}
p {
color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<header>Local Weather</header>
<p id="data"></p>
Working example
(注)この例では、作成する必要があります:あなたはこのように、ジオロケーション・ロジックのコールバック内$.getJSON
呼び出しを配置する必要があり、この問題を解決するには
ジオロケーションがスタックスニペットで動作しないため、jsFiddleで