当我的地图活动被调用时,我在onCreate中调用addUserMapPoint.此函数包含两个实例,我尝试使用myOverlay.getMyLocation获取位置信息.在此活动的初始加载时,第一次尝试的结果返回一个空的GeoPoint,并在主UI线程完成位于myOverlay.runOnFirstFix的监听器线程中的第二次尝试(新的Runnable()...在一秒后调用并且确实包含一个包含lat和lon的GeoPoint.这个监听器函数内的调用看起来似乎把点放在地图上,而mapController.animateTo(gp)行确实将地图移动到我的位置.我的应用程序有一个刷新按钮,当clicked再次触发此活动.我需要lat和lon才能从另一个服务获取位置数据.刷新后,第二次通过map活动代码我期待第一次调用myOverlay.getMyLocation()现在将是能够获得GeoPoint,但它仍然是null.
如果我不能通过第一次调用myOverlay.getMyLocation来获取GeoPoint,那么如何从myOverlay.runOnFirstFix(new Runnable()...线程中找到的第二个调用中传递lat和lon值.你会注意到我一直在尝试将lat和lon添加到MyApp,它是辅助bean类,但是即使在刷新之后,此类中的lat和lon也为null.如果我在addUserMapPoint函数中手动设置lat和lon第一次活动访问这些值是保留的.我猜这是因为它是在主UI线程上设置的.
public class MapActivity extends com.google.android.maps.MapActivity {
private MapView mapView = null;
private MapController mapController = null;
private MyLocationOverlay myOverlay = null;
public static MyApp app;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
app = (MyApp) getApplicationContext();
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapController = mapView.getController();
List<Overlay> mapOverlays = mapView.getOverlays();
mapOverlays.clear();
addUserMapPoint(mapView);
if (!app.isLocServOff()) {
//map other points – service call to get items from our service near lat and lon
addOtherMapPoints(mapOverlays);
} else {
Toast.makeText(app.getApplicationContext(),"Current location could …Run Code Online (Sandbox Code Playgroud) android mapactivity mylocationoverlay android-mapview geopoints
我被要求对现有应用程序进行更改,此时此应用程序仅部署到Linux Production服务器.我已经完成了大部分工作在我的本地Windows PC上的应用程序.我MySQL在本地PC上安装了生产数据库的完整副本.生产数据库MySQL v5.0.95在Linux上,我的本地数据库MySQL v5.5在Windows上.两者都是InnoDB模式.
我的问题是如下声明.制作通用,以方便其他想要帮助的人使用.
update atable
set adate=DATE_ADD(str_to_date('','%m/%d/%Y'), INTERVAL 0 DAY)
where anum='1'
Run Code Online (Sandbox Code Playgroud)
在某些情况下,传递一个空字符串,其中在生产中不会导致任何问题,并允许记录保存/更新,但在本地它会抛出一个SQLException.所以我SQL直接针对我的本地数据库尝试了该语句,在这两种情况下都收到以下错误消息.
错误代码:1411.日期时间值不正确:''表示函数str_to_date
我看过Production my.cnf和我的本地my.ini寻找任何重大差异,我也尝试在ALLOW_INVALID_DATES本地使用sql-mode ,但它没有改变最终结果.
我知道我可以将代码更改为不传入这些空字符串,但是有很多这样的语句,此时我不希望在可能的情况下对所有这些语句进行更改.该客户的预算和时间有限,我希望专注于他们的新要求.如果可能的话,我正在寻找关于如何让我的本地环境正常工作的输入.
谢谢你的时间.