我正在尝试使用 PHP 访问 OpenStreetMap 数据,但我找不到有关如何执行此操作的任何明确答案。当我在浏览器中搜索它时,我试图从中提取数据的 URL。这是我正在尝试的网址:https://nominatim.openstreetmap.org/search?q=jacksonville,florida&format=json
这就是我试图在我的 PHP 文件中访问它的方式,但它总是不返回任何内容。
$search_url = "https://nominatim.openstreetmap.org/search?q=jacksonville,florida&format=json";
$json = file_get_contents($search_url);
print_r($json);
echo "json=" . $json;
$decoded = json_decode($json, true);
$lat = $decoded[0]["lat"];
$lng = $decoded[0]["lon"];
echo " latitude=".$lat . " -----" . "longitude=".$lng;
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?我的最终目标是简单地获得一个城市、州的纬度和经度。
在我的实习中,我注意到我的一位同事通过这样做操纵了我的一个功能:
if isSinglesMatch:
name1 = GetName(1, "BUG")
name2 = GetName(2, "BUG")
else:
name1 = GetName(1, "Short")
name2 = GetName(2, "Short")
Run Code Online (Sandbox Code Playgroud)
对此:
name1 = GetName(1, "BUG" if isSinglesMatch else "Short")
name2 = GetName(2, "BUG" if isSinglesMatch else "Short")
Run Code Online (Sandbox Code Playgroud)
我看到他的代码更短,但是有没有像解释得更快的优势?保持我最初拥有的方式是不是很糟糕?在我看来,调试我的代码更容易(我在这个例子中遗漏了一些额外的变量赋值)。
实习期间没有人告诉我应该改变我做事的方式,我只是注意到我的同事喜欢这样做。