我正在制作一个使用 map View 的 Android 应用程序。从 pc 安装时,它们在设备上运行良好。但是当通过 android 市场在设备中安装相同的版本时, map 不会加载。以下是 logcat 输出。
10-03 15:54:51.784: WARN/System.err(12994): java.io.IOException: Server returned: 3
10-03 15:54:51.784: WARN/System.err(12994): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
10-03 15:54:51.784: WARN/System.err(12994): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
10-03 15:54:51.784: WARN/System.err(12994): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
10-03 15:54:51.784: WARN/System.err(12994): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
10-03 15:54:51.784: WARN/System.err(12994): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
10-03 15:54:51.784: WARN/System.err(12994): at java.lang.Thread.run(Thread.java:1019)
可能是什么问题 谁能帮我解决这个问题?? 谢谢
最佳答案
您不能使用 debug.keystore 为进入市场的应用程序创建 Google Maps API key 。如果您已经在市场上拥有该应用程序(或任何应用程序),那么您已经拥有您应该使用的 keystore 。这是您使用此 keystore 获取 Google Maps API key 的方式:
第 1 步:在命令行中导航到包含您的 keystore 文件的目录:
cd <keystore-dir>
第 2 步:现在列出您的 keystore 的内容:
keytool -list -keystore <your-keystore-file>
第 3 步:出现提示时输入 keystore 的密码。 Keytool 现在将显示证书列表及其 MD5。
第 4 步:将您要用于签署应用程序的证书的 MD5 复制到复制/粘贴缓冲区中。
第 5 步:打开浏览器并导航至 http://code.google.com/android/maps-api-signup.html - 如果您没有使用您的 Android 电子市场帐户登录,您接下来需要在生成 API key 之前执行此操作。
第 6 步:将复制/粘贴缓冲区中的 MD5 粘贴到标有“我的证书的 MD5 指纹:”的文本框中,然后勾选“我已阅读并同意...”框。
第 7 步:单击“生成 API key ”。您现在会看到需要使用的 API key 。
第 8 步:将 API key 复制并粘贴到 MapView 组件的 android:apiKey 中属性(property)。
如果你有多个 MapView组件然后你可以声明一个字符串资源:
<string name="production_api_key">thisIsMyKeyValue</string>
现在您可以在您的 android:apiKey 中使用它属性的方式与您引用任何其他字符串值的方式相同:
android:apiKey="@string/production_api_key"
现在使用您在第 4 步中使用的证书将应用程序导出到 APK 文件。
如果您遵循这个分步指南,您应该没问题 - 我自己刚刚开始使用以这种方式生成的 map API key 。
注意事项:
使用 keystore 文件 ( md5 <my-keystore-file> ) 而不是证书的 MD5。它是您需要的证书的 MD5。
在您生成 API key 时登录到 Google,但使用了错误的帐户。您的 map API key 和您的 Android 电子市场签名 key 必须属于同一个 Google 帐户。
关于android map View 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7633867/
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co
我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty
如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail
我需要做这样的事情classUser'User',:foreign_key=>'abuser_id'belongs_to:gameendclassGame['JOINabuse_reportsONusers.id=abuse_reports.abuser_id','JOINgamesONgames.id=abuse_reports.game_id'],:group=>'users.id',:select=>'users.*,count(distinctgames.id)ASgame_count,count(abuse_reports.id)asabuse_report_count',:
我指的是pubrailscasttutorial并已正确执行所有步骤,但在运行最后一个命令时,即rackupprivate_pub.ru-sthin-Eproduction为了架设faye服务器,我收到以下错误:/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--thin(LoadError)from/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'from/var/lib/gems/1.9.1/gems
我们在服务器端遇到libxml-rubygem的问题可能是因为它使用x86_64架构:$uname-aLinuxip-10-228-171-642.6.21.7-2.fc8xen-ec2-v1.0#1SMPTueSep110:25:30EDT2009x86_64GNU/Linuxrequire'libxml'LoadError:/usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so:invalidELFheader-/usr/local/ruby-enterprise/
我不太确定为什么这不起作用,我一直在寻找解决方案。很简单,我正在运行一个执行require'CSV'的小脚本。,它在我的Mac1.9.3-p327上运行良好,但在p374上的服务器上无法运行。我得到的错误是/home/deployer/.rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire':cannotloadsuchfile--CSV(LoadError)from/home/deployer/.rbenv/versions/1.9.3-p374/lib/ruby/1.9.1/
我在通过RubyMineIDE进行远程调试时遇到以下错误。$bundleexecrdebug-ide--port1234--script/railsserverFastDebugger(ruby-debug-ide0.4.9)listenson:1234/home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb:123:in`debug_load'/home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.