小编Sha*_*nak的帖子

Rails检查数据库中是否存在记录

检查数据库在处理之前是否返回记录的最有效方法是什么.例:Truck.where("id = ?", id).select('truck_no').first.truck_no

如果卡车存在,这可能会或可能不会返回卡车.在处理此请求时,确保页面不会崩溃的最有效方法是什么.如果让我说我使用循环来浏览每辆卡车并打印出它的编号,我将如何在视图和控制器中处理这个问题.

如果记录不存在,我希望能够打印出一条消息,而不是说没有找到记录.

database null ruby-on-rails

46
推荐指数
3
解决办法
7万
查看次数

如何从Android应用程序发送和接收短信?

我想在我的应用程序中添加短信发送功能,并且还希望用户可以直接从应用程序中选择联系人列表中的联系人.是否可以将联系人列表与我的应用程序集成.

谢谢

sms android android-contacts

35
推荐指数
3
解决办法
9万
查看次数

如何在Java代码中使用scala.collection.immutable.List

我需要编写一个代码来比较Java ArrayList与Scala的性能List.我很难让Scala List在我的Java代码中工作.有人可以发布一个真正简单的"hello world"示例,说明如何List在java代码中创建Scala (在.java文件中)并添加100个随机数吗?

PS:我非常擅长Java,但从未使用过Scala.

java performance scala list

14
推荐指数
3
解决办法
1万
查看次数

OpenLayers 3:地图上的"movestart"事件

OpenLayers3 API有一个map.on("moveend"),但我找不到了movestart.谁知道我怎么能做到这一点?有同等的事件吗?

OpenLayers 2 movestart在地图上有一个活动.我在OpenLayers3中看起来完全平行

这是一个基本的jsFiddle.如果有人想玩的话.我确实在movestart那里添加了一个事件,以显示我想要的东西,但我认为它实际上并不存在.

用例!有人可能会问:我在地图上停了几乎全屏的信息窗口.用户可以从infowindow切换到下一个标记.我让窗户半透明地显示下面的地图平移,因此用户可以获得下一个位置的上下文.这项工作在OpenLayers2 movestartmoveend事件中都很棒.但是在新的OL3版本的地图中,我无法得到这个movestart事件.

更新:我确实回答了我自己的问题,但如果有人想提出更好的解决方案,我仍然会提供赏金.

javascript gis openlayers-3

11
推荐指数
1
解决办法
3385
查看次数

Ruby on rails:在Html.erb中使用<%=%>标记中的javascript变量

我试图在<%=%>标签中使用插​​入Javascript变量,但它打印变量名称verbose.这是我的代码

<script>
     function getGraph(agency,device_id)
      {
            var i = document.createElement('img'); 
            i.src = '<%= show_graph_hcfcd_url('device_id') %>'; 
            $(graphDiv).appendChild(i); 
      }
</script>
Run Code Online (Sandbox Code Playgroud)

现在问题是URL生成得很好,除了而不是device_id的值,'device_id'出现在其余的url中.

任何线索如何克服这个?

javascript ruby-on-rails erb

8
推荐指数
1
解决办法
2万
查看次数

缩放事件监听器之前的Javascript OpenLayers

我正在尝试将OpenLayers设置为在缩放开始之前不显示矢量图层,并在缩放结束后重新显示它.我有缩放结束部分已经建立如下:

map = new OpenLayers.Map('map_element', { eventListeners: { "zoomend": mapEvent}});

function mapEvent(event) {
    if(event.type == "zoomend") {
        hide_vector_layer();
        }
}
Run Code Online (Sandbox Code Playgroud)

但我没有看到任何类型的事件监听器开始放大文档.有一个"movestart",涵盖了移动,平移和缩放.不幸的是,我不能使用"movestart",因为我不希望图层在平移期间消失.你会认为会有一个"zoomstart",因为有一个"zoomend".

我试图这样做的原因是因为我不喜欢当使用谷歌地图作为基础层时矢量图层以不同的速率缩放.它看起来不对,看起来所有功能都不准确,即使它们在缩放完成后落在正确的位置.

有什么建议?

javascript google-maps zooming openlayers

8
推荐指数
2
解决办法
6149
查看次数

OpenLayers 3:删除事件监听器

Openlayers 3中如何删除附加的事件侦听器,如下所示:

var a = map.on("pointerdrag",function (e) {
             // event handler
});

var b = map.on("pointerdrag",function (e) {
             // event handler
});
Run Code Online (Sandbox Code Playgroud)

如何仅删除列表器a并保持b活动状态?

javascript openlayers-3

8
推荐指数
1
解决办法
6687
查看次数

宣传单:panTo Web Mercator坐标(EPSG 3857)

我有一个显示图块层的标准传单图.现在,传单只允许您使用panToLatLng的方法,例如,

map.panTo(new L.LatLng(40.17, -98.12));
Run Code Online (Sandbox Code Playgroud)

如果我的坐标是EPSG:3857例如,我将如何使用上面的panTo方法(3679364.68,-9096106.74)

这在Openlayers中非常简单,因为一旦定义了地图投影,一切都在该投影中起作用.但Leaflet总是在外面工作.

使用传单库完成此任务的简单方法?

谢谢!

javascript gis maps leaflet

7
推荐指数
2
解决办法
5589
查看次数

如何在Openlayers 3中显示ESRI Vector基本映射

我想在OpenLayers 3中添加新的ESRI Vector Basemaps.我已经通过修改OpenLayers发布的Mapbox示例来显示未设置样式的图层.

显然,我必须删除style: createMapboxStreetsV6Style()选项才能显示esri图层.所以基本上地图不知道正确显示图层的样式信息.

我认为应该可以这样做,因为ESRI的Leaflet端口示例已经这样做了.我认为有关esri的样式ID的信息可以在这里获得传单代码.

OpenLayers应该已经能够使用所有这些信息,因为它能够显示Mapbox Layer.我需要帮助的是,如何使用ESRI的样式信息.

这是我到目前为止(codepen here):

var map = new ol.Map({
  layers: [
    new ol.layer.VectorTile({
      source: new ol.source.VectorTile({
        format: new ol.format.MVT(),
        
        tileGrid: ol.tilegrid.createXYZ({maxZoom: 22}),
        tilePixelRatio: 16,
        url: 'https://basemaps.arcgis.com/v1/arcgis/rest/services/World_Basemap/VectorTileServer/tile/{z}/{y}/{x}.pbf'
      })
    })
  ],
  target: 'map',
  view: new ol.View({
    center: [0, 0],
    zoom: 2
  })
});
Run Code Online (Sandbox Code Playgroud)
.map {
  background: #f8f4f0;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/openlayers/4.1.0/ol.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/openlayers/4.1.0/ol.css" rel="stylesheet"/>
<div id="map" class="map"></div>
Run Code Online (Sandbox Code Playgroud)

javascript gis esri openlayers openlayers-3

7
推荐指数
1
解决办法
885
查看次数

Google街景中地面像素的高度/高度

我希望在谷歌街景中找到地面上每个像素的高度.

在此输入图像描述

我知道可以计算的几件事情是:

  1. 一个像素的间距

  2. 来自相机的每个像素的深度图

    还有一个javascript库来获取深度图.

在此输入图像描述

有可能把两者放在一起计算一个像素的实际高度吗?

javascript gis math google-maps-api-3 google-street-view

7
推荐指数
1
解决办法
545
查看次数