Javascript 在谷歌地球上移动三维模型?
我正在使用Google Earth Web插件API,我有一个直升机的3d模型,我可以使用以下代码创建3d模型: var placemark= ge.createPlacemark(“”) placemark.setName('model') //位置标记/模型(几何图形) 变量 model=ge.createModel('heli'); placemark.setGeometry(模型) //地点标记/模型/链接 var链路= ge.createLink(“”) link.setHref(“”) model.setLink(link) //地点标记/型号/位置 var loc= ge.createLocation(“”) 位置setLatLngAlt(临时1、临时2、备选) 模型设置位置(loc) 型号:setAltitudeMode(相对于地面的通用高度) //将模型放置标记添加到地面 ge.getFeatures().appendChild(placemark) 所以我一直在创建一个新的模型,每次新的lat-long坐标出现时,有没有一种方法可以简单地将3d模型移动到这些坐标,而不是创建一个新的模型,在大约50次渲染后,它会变得无响应!任何帮助都将不胜感激Javascript 在谷歌地球上移动三维模型?,javascript,animation,geolocation,google-earth-plugin,Javascript,Animation,Geolocation,Google Earth Plugin,我正在使用Google Earth Web插件API,我有一个直升机的3d模型,我可以使用以下代码创建3d模型: var placemark= ge.createPlacemark(“”) placemark.setName('model') //位置标记/模型(几何图形) 变量 model=ge.createModel('heli'); placemark.setGeometry(模型) //地点标记/模型/链接 var链路= ge.createLink(“”) link.setHref(“”
我假设我需要获取placemark,而不是createPlacemark,但是在引用中没有提到这样的函数。而不是每次都重新创建placemark,只需更新其坐标即可。您可以很容易地使用函数来实现这一点。然后,您可以在每次希望更新模型位置时使用所需的坐标调用moveModel函数
var placemark = ge.createPlacemark('');
var model = ge.createModel('heli');
var link = ge.createLink('');
placemark.setName('model');
placemark.setGeometry(model);
link.setHref('http://my.url/heli.dae');
model.setLink(link);
moveModel(temp1, temp2, alt); // your location...
ge.getFeatures().appendChild(placemark);
function moveModel(temp1, temp2, alt) {
var loc = ge.createLocation('');
loc.setLatLngAlt(temp1,temp2,alt)
model.setLocation(loc);
model.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);
}
您可以在侧栏中看到您的模型(重命名前称为“未命名”)—右键单击它—复制!然后在侧栏的同一位置粘贴。现在,您将看到另一个“未命名”模型-重命名它 现在,到地球上的任何地方,将您的视图居中放置在您希望模型所在的位置(现在,请靠近您的模型进行此操作)。在GE菜单“编辑”中向上-按“复制视图位置” 现在,在侧栏中的复制模型上单击鼠标右键-属性。现在,在经度/纬度栏中粘贴上次从剪贴板复制的视图位置。 现在,在不同的位置有两个相同的型号。如果取消选中任何模型,则可以隐藏该模型,反之亦然 现在,正如我所看到的,GE没有正常工作(至少我的没有),因为每次你双击模型时,它应该会带你去那里,但它没有,解决方案-只需从该位置(你的模型所在的位置)录制第二部电影,然后保存它-通过这种方式巡演(你的位置)已保存,每次双击已保存的巡更时,它都会将您带到那里