我有一个MKAnnotation与自定义图钉图像.但是,引脚(MKAnnotationView)使图像相对于指定的坐标居中.我想将坐标点设置在图像的底部中心,而不是中心.
我试过用了annView.centerOffset = CGPointMake(-12, -28);.但问题是centerOffset与地图缩放级别无关.
可以在JS API和Android中执行此操作.有没有可能在objective-c中这样做?
..fredrik
有没有人在开发JavaScript时使用SOLID编程原理(或任何部分)?
我刚开始阅读它,但似乎找不到任何人用它来JS.我发现易于实施/使用的唯一部分是"单一责任原则".
我正在寻找的是使用这些原则的文章或例子.有没有争论为什么不应该使用某些部分?
例如,"接口隔离原则"表示"许多客户端特定接口优于一个通用接口的概念".
但据我所知,JS中没有接口这样的东西(如果它会很好).
当尝试从node_modulestypescript编译器中的类扩展类时抛出一个错误说:
Property 'source' is protected but type 'Observable<T>' is not a class derived from 'Observable<T>'.
这只发生在基类来自a时node_module.
基类看起来像:
import {Observable} from "rxjs/Observable";
export abstract class TestBase<T> {
request(options: any):Observable<T> {
return Observable.throw(new Error('TestBase is abstract class. Extend it and implement own request method'));
}
}
Run Code Online (Sandbox Code Playgroud)
在项目中对其进行子类化:
import {Observable} from "rxjs/Observable";
import {TestBase} from "@org/core";
class SocketResponse {
}
class Socket {
request(): Observable<SocketResponse> {
return new Observable.of(new SocketResponse());
}
}
export class Sub extends TestBase<SocketResponse> {
request(options:any):Observable<SocketResponse> …Run Code Online (Sandbox Code Playgroud) 我正试图找到一种方法来获取标记的DOM元素.Google似乎使用不同的元素来显示标记,并使用其中一个来处理事件.
到目前为止,我已经弄明白了两件事.有一个生成的变量被称为fb将DOM元素保存在标记对象上,但我认为下次Google更新API时,它会被命名为不同的东西.所以没有去.
其次,如果将click事件附加到标记,API会将事件DOM元素作为参数发送到您指定的函数.在Firebug中查看它时,我找不到两者之间的任何关系.
我想要完成的是操纵DOM元素()并提供更多信息,然后只是一个带背景的'div'元素.
我在版本2中使用name属性(未记录)在div元素上生成id.
有没有人有想法?
我正试图在谷歌地图api v3中获得一个叠加层,以显示在所有标记之上.但似乎google api总是将我的叠加层设置为最低的z-index优先级.我发现只有解决方案是遍历DOM树并手动将z-index设置为更高的值.解决方案不好
我正在将我的新div添加到我的叠加层中:
onclick : function (e) {
var index = $(e.target).index(),
lngLatXYposition = $.view.overlay.getProjection().fromLatLngToDivPixel(this.getPosition());
icon = this.getIcon(),
x = lngLatXYposition.x - icon.anchor.x,
y = lngLatXYposition.y - icon.anchor.y
$('<div>test</div>').css({ left: x, position: 'absolute', top: y + 'px', zIndex: 1000 }).appendTo('.overlay');
}
Run Code Online (Sandbox Code Playgroud)
在创建叠加层时,我已经尝试了所有可以想到的属性.zIndex,zPriority等
我正在添加我的叠加层:
$.view.overlay = new GmapOverlay( { map: view.map.gmap });
Run Code Online (Sandbox Code Playgroud)
GmapOverlay继承自新的google.maps.OverlayView.
有任何想法吗?
..fredrik
我正在尝试为嵌套的控制器编写单元测试,但无法弄清楚如何在我的测试中模拟相同的行为.
我有2个控制器:
function FirstController ($scope) {
$scope.childs = [{
title : 'Hello, earth!'
}];
};
function SecondController ($scope) {
$scope.child.title = $scope.child.title + $scope.$index;
};
Run Code Online (Sandbox Code Playgroud)
在我的HTML中:
<div data-ng-controller="FirstController">
<div data-ng-repeat="child in childs" data-ng-controller="SecondController">
{{ child.title }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这按预期工作(http://jsfiddle.net/tcayp/1/)
单元测试:
// FirstController
it('Should have childs', function () {
scope = {};
ctrl = new FirstController(scope);
expect(scope.childs.length).toBeGreaterThan(0);
});
// SecondController
it('Should have inherited a child', function () {
scope = {};
ctrl = new SecondController(scope);
expect(scope.child.title).toEqual('Hello, earth!0');
});
Run Code Online (Sandbox Code Playgroud)
在SecondController测试中,我无法弄清楚如何从ng-repeat模拟继承链.
我想让sendmail在localhost上工作.问题是app引擎有错误的sendmail路径,因为它抛出错误:/ bin/sh:sendmail:command not found
使用Mac OS X,sendmail的路径是:/ usr/sbin/sendmail
有谁知道如何改变这个?
..fredrik
我正在尝试用 JavaScript 编写一个辅助方法。如果发送函数或对函数的引用,它的行为应该有所不同。
我想像这样使用它:
helper('div', function () { return false; })
helper('div', obj.fn)
Run Code Online (Sandbox Code Playgroud)
我不明白的是:如何在辅助函数内部区分两者之间的区别?
我认为这是因为 JavaScript 在发送 obj.fn 之前首先评估它。我发现的唯一解决方法是将 obj.fn 作为 obj 发送,即
helper('div', { fn: obj.fn })
Run Code Online (Sandbox Code Playgroud)
然后我可以用 typeof 来区分两者之间的区别。但我真的很喜欢某种无需额外对象声明的方法。
每次开发服务器启动时都可以运行脚本吗?还在每次部署到谷歌?
我希望应用程序根据某些方法返回的内容来填充数据库.
有没有办法做到这一点?
..fredrik
我试图模仿http://tipfy-auth.appspot.com示例中的登录页面(来源http://code.google.com/p/tipfy/source/browse/examples/auth/app/)没有成功.当用户被重定向回页面时,我似乎遇到了问题.当前请求流程如下:
LoginPage(LoginHandler) - > Facebook redirect(FacebookAuthHandler)302 - > Facebook.com - > Facebook redirect(FacebookAuthHandler)302 - > SignupPage(SignupHandler)302 - > LoginPage(LoginHandler).
这里的问题(据我所知)是从注册(应该是端点)到登录页面的最后302(http重定向).
经过一些激烈的日志记录(无法找到本地测试),似乎从facebook返回时会设置一个会话.会话FacebookAuthHandler在两个地方self.auth.session(dict)和self.session(a SecureCookieSession)中作为dict存储在请求handler()上,但在重定向到SignupPage之后self.auth.session是None.
从SignUpPage到LoginPage的重定向发生是因为SignupHandlerget方法有一个装饰器@login_required,self.auth.session用于确定是否应该在此处理或重定向reuquest.
那么为什么self.auth.session不能保留在请求之间而self.session是什么?self.auth.session每个请求都设置好吗?如何存储会话?如果它在数据库中,则数据存储区类型是否重要(主/从或高复制).
我正在挖掘源代码,但找不到任何有用的东西.
..fredrik
编辑
发表以下答案.
javascript ×4
google-maps ×3
angularjs ×1
dom ×1
function ×1
iphone ×1
objective-c ×1
python ×1
rxjs5 ×1
sendmail ×1
session ×1
tipfy ×1
typescript ×1
unit-testing ×1