我试过:
czmlDataSource.load(czmlurl).then(function(){
viewer.dataSources.add(czmlDataSource).then(function(){
viewer.flyTo(viewer.dataSources,offset);
});
});
Run Code Online (Sandbox Code Playgroud)
这:
czmlDataSource.load(czmlurl).then(function(){
viewer.dataSources.add(czmlDataSource).then(function(){
viewer.zoomTo(viewer.dataSources,offset);
});
});
Run Code Online (Sandbox Code Playgroud)
和这个:
czmlDataSource.load(czmlurl).then(function(){
viewer.dataSources.add(czmlDataSource);
viewer.flyTo(viewer.dataSources,offset);
});
Run Code Online (Sandbox Code Playgroud)
而其.zoomTo等价物却没有成功。现在做什么?
编辑:有效的答案是:viewer.flyTo(czmlDataSource) 我认为我必须使用查看器的数据源,如viewer.DataSources,这是我的错误,它不起作用。
堆栈溢出已经变得如此陈旧,人们浪费时间在 3 年前的帖子上纠正语法和拼写。
我正在制作一个从 API 提取数据并将其显示在视图中的应用程序(MVC 风格)。
我需要弄清楚如何强制我的视图小部件重新绘制自身。现在我尝试使用 ValueKeys 和 ObjectKeys 但没有成功。
有很多很多的代码,所以我将尽可能使用片段来保持清晰。(如果您需要查看更多代码,请随时询问)
这是我的视图小部件:
class view extends StatefulWidget{
view({
Key key,
this.count = 0,
}) : super(key: key);
int count;
String _action='';
var _actionParams='';
var _data;
Function(String) callback;
void setAction(String newAction){
_action = newAction;
}
void setActionParams(String params){
_actionParams = jsonDecode(params);
}
void setData(String data){
_data = jsonDecode(data);
}
void incrementCounter(){
count++;
}
@override
_viewState createState() => _viewState();
}
class _viewState extends State<view>{
Object redrawObject = Object();
@override
Widget build(BuildContext context) {
/* …Run Code Online (Sandbox Code Playgroud)