Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取附近的城市值(HTML5地理位置和谷歌地图API)_Html_Api_Google Maps_Geolocation - Fatal编程技术网

获取附近的城市值(HTML5地理位置和谷歌地图API)

获取附近的城市值(HTML5地理位置和谷歌地图API),html,api,google-maps,geolocation,Html,Api,Google Maps,Geolocation,好的,我正在建立一个网站,游客可以通过从下拉列表中选择一个城市和州来浏览比赛 我希望浏览器能够检测访问者的城市和州,并将其作为首次访问站点时下拉列表中的默认值,从而最初显示该城市的锦标赛。我目前正在通过HTML5的地理定位API获取坐标,然后通过谷歌地图API将其转换为城市和州 这里有一个问题,如果访客所在的城市没有在下拉列表中列出,我想让它找到最近的城市(从访客所在的城市),并在开始时将其用作默认值 我现在在很多应用程序和网站上都看到了这一点,所以我可以用我目前使用的工具(HTML5/Goog

好的,我正在建立一个网站,游客可以通过从下拉列表中选择一个城市和州来浏览比赛

我希望浏览器能够检测访问者的城市和州,并将其作为首次访问站点时下拉列表中的默认值,从而最初显示该城市的锦标赛。我目前正在通过HTML5的地理定位API获取坐标,然后通过谷歌地图API将其转换为城市和州

这里有一个问题,如果访客所在的城市没有在下拉列表中列出,我想让它找到最近的城市(从访客所在的城市),并在开始时将其用作默认值

我现在在很多应用程序和网站上都看到了这一点,所以我可以用我目前使用的工具(HTML5/Google API)来实现吗?还是我必须切换到其他技术

当前JS,忽略“警报(…”

//按纬度和经度,然后按城市和州,获取访客位置。
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}
否则{
警报(“此浏览器不支持地理位置。”)
}
}
功能显示位置(位置){
var visitorLocation=new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
var geocoder=new google.maps.geocoder();
geocoder.geocode({'latLng':visitorLocation},
功能(结果、状态){
if(status==google.maps.GeocoderStatus.OK){
如果(结果[0]){
var市、州;
对于(var i=0;i
// Get the visitors location byt latitude and longitude, and then by city and state.
function getLocation() {
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
}
else {
    alert("Geolocation is not supported for this browser.")
}
}
function showPosition(position) {
var visitorLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var geocoder = new google.maps.Geocoder(); 
geocoder.geocode({ 'latLng': visitorLocation },
    function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            if (results[0]) {
                var city, state;
                for (var i = 0; i < results[0].address_components.length; i++) {
                    var addr = results[0].address_components[i];
                    if (addr.types[0] == ['administrative_area_level_1'])
                        // State
                        state = addr.short_name;
                    else if (addr.types[0] == ['locality'])
                        // City
                        city = addr.long_name;
                }
                alert(city + ", " + state);
            }
        }
    }
);
}
getLocation();