如何在Android中使用地方自动填充意图生成器获取地点的营业时间?

时间:2017-11-09 13:12:52

标签: android google-maps google-places-api google-places googleplacesautocomplete

目前,我正在构建一个搜索具有AutocompleteTextView的公司的功能。为了达到这个目的,我使用了一个PlaceAutocomplete IntentBuilder和叠加模式,如下所示:

Application

我收到这样的地方:

public static void Main(string[] args)
{
    var host = BuildWebHost(args);
    using (var scope = host.Services.CreateScope())
    {
        var services = scope.ServiceProvider;

        var logger = services.GetRequiredService<ILogger<Program>>();

        //Do some logging
    }

    host.Run();
}

但我无法在“地点”中找到开放时间。宾语。我怎么能找回它们?我只能找到使用API​​的其他人,但我更喜欢这个自动完成片段。

还尝试使用API​​调用以稍后按地点ID获取地点详细信息,但似乎只允许服务器密钥。如果有人在Android上使用发布密钥,那么它现在是一个不错的修补程序。但仍然感觉很麻烦。

2 个答案:

答案 0 :(得分:0)

请使用以下代码:

private class ParserTask extends AsyncTask<String, Integer, HashMap<String,String>>{

        JSONObject jObject;
        @Override
        protected HashMap<String,String> doInBackground(String... jsonData) {

            HashMap<String, String> hPlaceDetails = null;
            PlaceDetailsJSONParser placeDetailsJsonParser = new PlaceDetailsJSONParser();

            try{
                // this object give JSON
                jObject = new JSONObject(jsonData[0]);

                // this object give Result
                JSONObject jresult = new JSONObject(jObject[1]);            

                // this object give opening_hours
                JSONObject jopening_hours = new JSONObject(jresult[2]);

                // this object give periods
                JSONObject jperiods = new JSONObject(jopening_hours[2]);



            }catch(Exception e){
                Log.d("Exception",e.toString());
            }
            return jperiods;
        }

        // Executed after the complete execution of doInBackground() method
        @Override
        protected void onPostExecute(JsonObject periods){
                HashMap<String,String> periods;

                // put your condition 
                for(..)
                {
                JsonObject day = new JSONObject(periods[i]);
                    periods.put("key",day.get("day"));

                } 
              }
    }

答案 1 :(得分:0)

probalbly查询无效。参数必须用&符号分隔。

更改?key = MYKEYHERE?reference = to?key = MYKEYHERE&amp; reference =。我用我的钥匙对它进行了测试,并收到了对#34; Coffe公司&#34;。

的回复