我有一些生成谷歌地图的C#代码.这些代码查看我需要在地图上绘制的所有点,然后计算出矩形的边界以包含这些点.然后,它会将此边界传递给Google Maps API,以适当地设置缩放级别,以显示地图上的所有点.
这段代码工作正常,但我有一个新的要求.
其中一个点可能具有与之相关的精度.如果是这种情况,那么我在半径设置为精度值的点周围绘制一个圆.再次,这工作正常,但我的边界检查现在没有做我想要它做的事情.我希望边界框包含完整的圆圈.
这需要算法采用点x并计算将在x以北z米以及x以南z米的点y.
有没有人有这个算法,最好是在C#中.我确实在这里找到了一个通用算法,但我似乎没有正确实现这个,因为我得到的答案是千米的漂移.
这是通用示例
Lat/lon given radial and distance
A point {lat,lon} is a distance d out on the tc radial from point 1 if:
lat=asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
IF (cos(lat)=0)
lon=lon1 // endpoint a pole
ELSE
lon=mod(lon1-asin(sin(tc)*sin(d)/cos(lat))+pi,2*pi)-pi
ENDIF
Run Code Online (Sandbox Code Playgroud)
这是我的C#翻译.
// Extend a Point North/South by the specified distance
public static Point ExtendPoint(Point _pt, int _distance, int _bearing )
{
Decimal lat = 0.0;
Decimal lng = 0.0;
lat = Math.Asin(Math.Sin(_pt.Lat) * Math.Cos(_distance) + Math.Cos(_pt.Lat) …
Run Code Online (Sandbox Code Playgroud) 以前,在rails 2.3.8中我使用了原型助手link_to_remote
和form_remote_for
(其中包括).
这些选项:update
如下:
link_to_remote "Add to cart",
:url => { :action => "add", :id => product.id },
:update => { :success => "cart", :failure => "error" }
Run Code Online (Sandbox Code Playgroud)
(文档中的一个例子).这个例子在成功更新带有"cart"类的html元素时,失败后会出现类"错误".
现在我相信作案手法已经改变了,而是我们写道:
link_to "Add to cart", :url => {:action => "add", :id => product.id},
:remote => true
Run Code Online (Sandbox Code Playgroud)
并且没有选项可以再设置:update
了.而不是普通的html,我们现在渲染javascript,就像这样(在jquery中):
$('.cart').replaceWith(<%= escape_javascript(render :partial => 'cart') %>)
Run Code Online (Sandbox Code Playgroud)
但是你如何处理错误情况呢?我是否在控制器中处理它,并使用单独的视图?
以某种方式能够模仿我们之前的行为似乎对我有用.有任何想法吗?
我对Ruby/ROR可用的大量测试框架感到有些困惑.
我最近观看了Cucumber Railscasts并发现它们非常有趣.所以我开始玩游戏然后很难在概念上看到我会在哪里进行各种测试.
似乎很有可能在Cucumber中进行单元测试中可以完成的所有事情,所以我是否需要编写单元测试,或者我应该编写我的功能定义并专注于提供尽可能好的覆盖范围,因为我可以使用它.
我应该使用Rspec或Test:Unit创建我的单元测试吗?当我测试Ajax功能时,我应该使用Selenium还是Watir?
这里似乎有很多选择,我很难看到使用哪些工具以及边界在哪里.
什么是其他人的黄瓜经验以及在写黄瓜整合测试和测试之间的界限:基于单元和/或Rspec的单元和功能测试.有没有人意识到关于这个问题的一篇好文章,建议在测试方法和各种工具的优点和缺点之间划清界限.
我理解其中一些是主观的,但是如何攻击这个问题的常用方法将受到欢迎.
我已经看了一遍,无法解决这个问题:你如何在css中定位禁用状态提交按钮?
例如:我如何定位和设置此按钮的样式:
<input value="Validate" disabled="disabled" type="submit"/>
Run Code Online (Sandbox Code Playgroud) 目前在UI设计中被视为最佳实践,用于显示当前上下文中不可用的操作.
例如,页面显示可以拥有许多相关合同的客户.如果有活动合同,我不希望允许用户删除客户.从可用性和UI角度来看,最适合用户体验的是什么.
始终显示选项具有一致性的好处,相关操作始终在同一个地方等,但相反,向他们展示他们不能做的事情的重点是什么.
使选项变灰仍然具有一致性,但不允许他们选择他们无法执行的操作.
没有显示选项缺乏一致性,但可能不会那么令人困惑.
在昨天之前我甚至不会问这个问题,并且会直接选择选项2(灰色显示)然而看到用户尝试多次点击灰色图像并最终问我为什么他们无法点击按钮我不再确定最好的选择是什么.
具有可用性和UI测试经验的人最喜欢什么?
我有一个本地化的ASP.net应用程序(.net 2.0).我希望将从资源文件中检索到的2个字符串连接成一个元素,就像这样.
Text="<%$ Resources:Resource, lw_name %>" + <%$ Resources:Resource, lw_required %>"
Run Code Online (Sandbox Code Playgroud)
我尝试过使用Eval但没有成功.我正在尝试做"正确"的方法,或者我可以在资源文件中存储带占位符的字符串并"动态"插入它们.
我试图在aspx文件中而不是在代码隐藏中执行此操作.
我希望在我的页面上的标题div中生成以下布局,仅使用CSS
+-----------+ + + + Image + Title text Some text aligned on the right + + +-----------+
我无法在右侧对齐文本.它会一直保持与标题文本下方的右边和一行对齐,就像这样
+-----------+ + + + Image + Title text + + Some text aligned on the right +-----------+
这是我目前的标记.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
#header, #footer { padding: 0.3em 0; border-bottom: 1px solid; }
#header img { display: inline;}
#header h1 { display: inline; margin: 0px; padding: 0px;
vertical-align: 50%; position: left;}
#login-status { margin: …
Run Code Online (Sandbox Code Playgroud) 我希望在用户启用或禁用网络或GPS位置时收到通知,重要的是我希望知道他们更改了哪个以及如何更改.我有android.location.PROVIDERS_CHANGED
广播意图的广播接收器,这是接收正确的广播.
我现在需要尝试确定发生了哪个操作,即启用或禁用以及哪个提供程序已更改.我知道我可以保持每个提供商的状态,然后当我收到通知他们已经改变了然后我可以解决已经改变的事情,我正在寻找一个更"标准"的方法来做到这一点.广播意图似乎没有任何额外内容来指示哪个提供商已更改.
这是我目前的代码.
public class LocationProviderChangedReceiver extends BroadcastReceiver {
private final static String TAG = "LocationProviderChangedReceiver";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().matches("android.location.PROVIDERS_CHANGED"))
{
Log.i(TAG,"Location Providers changed");
Bundle bundle = intent.getExtras();
if (bundle == null) {
Log.d(TAG, "No extras data");
} else {
Log.d(TAG, "Bundle received of size " + bundle.size);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我Manifest的一个小摘录
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<receiver
android:name=".LocationProviderChangedReceiver"
android:exported="false">
<intent-filter>
<action android:name="android.location.PROVIDERS_CHANGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
如果广播中有额外的内容声明哪个提供商已更改以及是否已启用或禁用,那么这将是完美的.不幸的是,这种情况并非如此.是否有人知道我可以通过哪种机制来确定哪些状态已经改变而不维护我自己的状态变量. …
我正在维护SOAP Web服务(ASP.NET 2.0版),我必须进行一些修改,以修改特定方法的返回值.
在不破坏现有实现的情况下,通常接受的方法是什么.
我最初的想法是,以下一切都是可能的.
a)在现有Web服务中提供新版本特定方法,例如getPerson_v1.4
b)提供带有新版本号的.asmx文件的完整副本,例如http:/www.example.com/AdminWS_V1_4.asmx.这不是我喜欢的想法,因为该服务有超过50种方法,并且复制代码以更改2/3方法似乎是太多重复的代码.
c)重写Web服务构造函数以允许传入版本号.这似乎不起作用,并且在反思时我不确定如何在WSDL中表示它
是否有一种普遍接受的方式,或者人们根据他们在这一领域的经验提出建议.
我有一个rails应用程序,可以在某些事件上触发电子邮件.这些电子邮件将发送给另一家公司,该公司会在回复时向电子邮件中添加一些其他数据.这一切都被理解和工作,我正在解析回复,提取数据,它工作正常.
我现在被要求加密电子邮件.
有没有人有最佳方法的经验/想法?
我无法保证第三方将使用哪个电子邮件客户端,因此我需要一个可以在许多电子邮件客户端中使用的解决方案.加密时必须由我的应用程序在发送电子邮件时和客户端应用程序(Outlook,Thunderbird,Entourage等)进行回复时进行.然后我需要接收加密的电子邮件,解密并解析它以提取我需要的新信息.
任何人都可以指点插件/文件,这将有助于我实现这一目标吗?