我正在开发Android应用程序,当用户输入特定位置时会发出通知
用户可以使用纬度经度指定位置(即谷歌地图)
我知道如何获得纬度和经度但我的问题是当用户进入特定位置时它会与先前指定的纬度和经度不完全匹配.

如图所示,当用户进入区域(约20米)时,用户指定名为"我的位置"的位置,然后应用程序应向用户发送通知.
我想知道如何比较用户指定的纬度和经度(我的地方)和GPS应用程序获取的当前纬度和经度.
如果用户在20米的范围内靠近我的地方,那么这样做的比较是正确的.(这20米是近似的.)我可以设置Android的精度,例如20米.
谢谢.
在此代码中,构造函数被调用两次.
我该如何避免?
如果我取消注释默认构造函数代码块,那么代码不会给出令人满意的输出.
而且我也想要基于条件的模板实例化,所以我使用了void指针.
#include<iostream.h>
template<class Type>
class Data{
public:
Type val;
Data(Type v){
cout<<"In Constructor Param";
val = v;
}
Data(){
// cout<<"In Constructor Defa"; uncommnet this line
}
~Data(){}
};
int main(){
Data<void *> obj;
obj = new Data<float>(31.34f);
cout<<*(float*)obj.val;
}
Run Code Online (Sandbox Code Playgroud)
输出:
In Constructor Param
In Constructor Param
31.34
Run Code Online (Sandbox Code Playgroud)
谢谢你的参与.
当我运行此脚本时,它会在此语句中返回错误 no1:=(no1+no2)-(no2:=no1);
declare
no1 number(3):=31;
no2 number(3):=34;
begin
dbms_output.put_line('Before swap');
dbms_output.put_line('No1 : '||no1||' No2 : '||no2 );
-- no1:=(no1+no2)-(no2:=no1); generate error
dbms_output.put_line('After swap');
dbms_output.put_line('No1 : '||no1||' No2 : '||no2 );
end;
Run Code Online (Sandbox Code Playgroud)