小编Jos*_*hba的帖子

如何为Google Places API自动完成文本框设置默认值

我正在开发一个足够接近谷歌样本https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform的网页,它运行正常.

但是我还需要添加一个功能,即默认将自动完成的值设置为当前用户城市.

我正在使用以下代码来使用HTML5中的地理位置API来获取登录用户的城市和国家/地区.然而,挑战在于使自动完成接受此值作为其默认值.当我尝试将值直接放在文本框中时,自动完成会将其视为错误值.

navigator.geolocation.getCurrentPosition(function(pos) {
   var currentLocation = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
   var geocoder = new google.maps.Geocoder();
   var city = "";
   var country = "";
   geocoder.geocode({'latLng': currentLocation}, function(results, status, from) {
      if (status == google.maps.GeocoderStatus.OK) {
         if (results[1]) {
            for (var i = 0; i < results[0].address_components.length; i++) {
               for (var b = 0; b < results[0].address_components[i].types.length; b++) {
                  if (results[0].address_components[i].types[b] == "administrative_area_level_1") {
                     city = results[0].address_components[i];
                     break;
                  }
                  if (results[0].address_components[i].types[b] == "country") {
                     country = results[0].address_components[i];
                     break;
                  } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-maps autocomplete google-maps-api-3

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

需要检查文本在页面上出现且仅出现一次

我正在使用 RSpec/Capybara 进行 Rails 应用程序测试,我需要检查视图中的一个元素是否出现且仅出现一次。

例如,在下面的代码中,我需要确保它只task.title在页面中出现一次。如图所示,我可以检查它是否存在,但我找不到如何检查它是否只出现一次。

task = FactoryGirl.create(:task)
login_as(task.user, :scope => :user)
visit tasks_index_url
expect(page).to have_content task.title
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails capybara capybara-webkit ruby-on-rails-4

6
推荐指数
1
解决办法
2378
查看次数

无法从Alamofire 3.3.0获取服务器错误消息

这是我第一次使用Alamofire它,它让我非常沮丧.

我正在使用以下代码在后端API上调用注册API

Alamofire.request(.POST, "\(self.authBaseURL)/signup", parameters: params, headers: headers, encoding: .JSON)
            .validate(statusCode: 200..<300)
            .validate(contentType: ["application/json"])
            .responseJSON { response in
                switch response.result {
                case .Success(let JSON):
                    print("Success with JSON: \(JSON)")
                    success(updatedUser)
                case .Failure(let error):
                    print("Request failed with error: \(error)")
                    failure(error)
                }

        }
Run Code Online (Sandbox Code Playgroud)

问题是我在.Failure函数中获得的错误对象不包含服务器端消息.我试图访问其余的对象(请求,响应,数据,结果)我无法在任何地方找到我的错误消息

无论服务器消息说什么,我总是会收到以下错误.请求失败并显示错误:

FAILURE:Error Domain = com.alamofire.error Code = -6003"响应状态代码不可接受:400"UserInfo = {NSLocalizedFailureReason =响应状态代码不可接受:400}

我在做什么有什么不对吗?

Swift 2.2,AlamoFire 3.3.0,Xcode 7.3

xcode ios swift alamofire

6
推荐指数
1
解决办法
8616
查看次数