怎么在Ubuntu Scope中获取location地址信息

99 阅读1分钟

Location信息对很多有地址进行搜索的应用来说非常重要。比如对dianping这样的应用来说,我们可以通过地址来获取当前位置的一些信息。在这篇文章中,我们来介绍如何获取Scope架构中的位置信息。这个位置信息可以对我们很多的搜索是非常重要的。

 

1)创建一个简单的Scope应用

 

我们首先打开SDK,并选择“Unity Scope”模版:

 

 

接下来,我们选择“Empty scope”。这样我们就创建了我们的一个最基本的scope了。

 

 

我们可以直接进行编译,并在desktop上运行。

 

2)获取位置信息

为了获取位置信息,我们首先要在我们的Scope中做一些设置。首先我们打开在data文件夹下的.ini文件,并加入LocationDataNeeded=true语句:

 

[ScopeConfig]
DisplayName = Scopetest Scope
Description = This is a Scopetest scope
Art = screenshot.png
Author = Firstname Lastname
Icon = icon.png

LocationDataNeeded=true

[Appearance]
PageHeader.Logo = logo.png


这样我们基本上已经设置好了。为了得到真正的位置信息,打开scope.cpp文件,并在"run"方法的开始部分加入如下的代码:

 

        cerr << "starting to get the location" << endl;

        auto metadata = search_metadata();
        if (metadata.has_location()) {

            cerr << "it has location data" << endl;

            auto location = metadata.location();

            if (location.has_country_code()) {
                cerr << "country code: " << location.country_code() << endl;
             }

            if ( location.has_area_code() ) {
                cerr << "area code: " << location.area_code() << endl;
            }

            if ( location.has_city() ) {
               cerr << "city: " << location.city() << endl;
            }

            if ( location.has_country_name() ) {
                cerr << "" << location.country_name() << endl;
            }

            if ( location.has_altitude()) {
                cerr << "altitude: " << location.altitude() << endl;
                cerr << "longitude: " << location.longitude() << endl;
                cerr << "latitude: " << location.latitude() << endl;
            }

            if ( location.has_horizontal_accuracy()) {
                cerr << "horizotal accuracy: " << location.horizontal_accuracy() << endl;
            }

            if ( location.has_region_code() ) {
                cerr << "region code: " << location.region_code() << endl;
            }

            if ( location.has_region_name() ) {
                cerr << "region name: " << location.region_name() << endl;
            }

            if ( location.has_zip_postal_code() ) {
                cerr << "zip postal code: " << location.zip_postal_code() << endl;
            }
        }

 

在scope.cpp文件的qishi

 

我们通过框架来得到真正的位置信息。我们可以在手机上运行我们的Scope。并同时在电脑上运行如下的命令:

 

 

显示的结果为: