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


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


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


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



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



    我们能够执行我们的Scope。

    这是一个最主要的Scope。


    2)增加代码获取Location信息

    为了获取位置信息,我们对我们的代码进行设置。首先打开"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文件,并改动为:

    #include <unity/scopes/SearchMetadata.h> // added
    
    ....
    
    
    void Query::run(sc::SearchReplyProxy const& reply) {
        try {
            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;
                }
            }
    
     ....
    
    }

    我们通过打印的方式来查看我们所收到的位置信息。在手机上执行,并同一时候在desktop上执行例如以下的命令:





    我们能够看到我们所须要的位置信息。通过这些信息,我们能够在我们的Scope中使用。

    全部的源代码能够在例如以下的地址找到:

    bzr branch lp:~liu-xiao-guo/debiantrial/scope



  • 相关阅读:
    原创:ESXi5.1安装实验1
    Xeon 5000系列说起
    ESXi5.1安装实验3
    VMware虚拟化网络和存储功能简介
    Understanding Core Exchange Server 2007 Design Plans
    Exchange 2007和2003,2000等共存。
    自动发现服务深入理解
    管理 POP3 和 IMAP4 服务
    原创:vsphere client 5.1安装实战
    UPNP解读2含netbios,wins,DNS
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5177184.html
Copyright © 2020-2023  润新知