Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在主干JS中正确使用和访问外部API(面向对象)_Javascript_Api_Backbone.js_Mapstraction - Fatal编程技术网

Javascript 如何在主干JS中正确使用和访问外部API(面向对象)

Javascript 如何在主干JS中正确使用和访问外部API(面向对象),javascript,api,backbone.js,mapstraction,Javascript,Api,Backbone.js,Mapstraction,作为我问题的一个具体例子: 我正在主干JS应用程序项目中使用Mapstraction 我希望连接DOM中的某些操作,单击pin、关闭气泡、放大/缩小它们各自的API操作,以及可能触发我的应用程序中的事件 到目前为止,我所做的是为Mapstraction创建一个视图和模型。该模型是地图中心的默认位置、要使用的地图服务、缩放级别等,该视图是主应用程序对象使用的该模型的“实例” 然后将映射实例传递给其他视图,以便我可以执行映射操作以及应用程序中的其他操作 我只是想知道这是否是在主干JS应用程序中使用面

作为我问题的一个具体例子:

我正在主干JS应用程序项目中使用Mapstraction

我希望连接DOM中的某些操作,单击pin、关闭气泡、放大/缩小它们各自的API操作,以及可能触发我的应用程序中的事件

到目前为止,我所做的是为Mapstraction创建一个视图和模型。该模型是地图中心的默认位置、要使用的地图服务、缩放级别等,该视图是主应用程序对象使用的该模型的“实例”

然后将映射实例传递给其他视图,以便我可以执行映射操作以及应用程序中的其他操作

我只是想知道这是否是在主干JS应用程序中使用面向对象的外部API库的正常/正确的方法

创建map对象的视图并将视图中所有map类的操作复制为调用这些原始类函数的函数,这感觉有点错误/笨拙。。然而,我看不到其他选择

任何明确的答案,甚至建议/经验都将不胜感激


谢谢

这是唯一正确的方法,因为您应该1在应用程序中抽象出其他API,而不必关心该API的怪癖,2数据坐标应该建模为应用程序处理的格式。否则,您需要重新实现每个视图中希望使用该API的所有内容。这就是要点:您说过地图实例将被传递给其他视图……谢谢您的回复!我很清楚:您是说将API“转换”为视图是通常/正确的方法?我是一名经验丰富的程序员,但对主干JS还不熟悉,不知道在这种情况下该怎么办。我不是说转换API并将其重写为主干,而是指将其包装并创建自己的外观作为主干视图。你能把这个短语改写一下吗。。。视图是此模型的“实例”。。。?再看一遍,它听起来像mapModel.setview,mapView似乎很奇怪。添加一些代码将有助于指出您的方法可能存在的错误,尽管我认为您担心的太多了。啊,对不起,我的意思是API是一个类映射函数,我已经实例化为一个对象。我已经为地图创建了一个模型,它只包含基本的初始化变量纬度、经度、缩放级别,然后这个模型用于视图,我基本上使用它作为容器来保存上面提到的mapstraction对象。然后将包含map对象实例的视图传递给需要在地图上执行操作的不同视图。例如,我有一个地图标记视图,当初始化时,它会传递给地图视图。