Created
February 28, 2018 10:11
-
-
Save nairihar/96810272c895bfc95bf98f3c485256a8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.heremap.react.map; | |
import android.app.Activity; | |
import com.facebook.react.uimanager.ThemedReactContext; | |
import com.facebook.react.uimanager.ViewGroupManager; | |
public class HereMapManager extends ViewGroupManager<HereMapView> { | |
static final String METHOD_NAME = "HereMapView"; | |
private Activity mActivity; | |
public HereMapManager(Activity activity) { | |
mActivity = activity; | |
} | |
@Override | |
public String getName() { | |
return METHOD_NAME; | |
} | |
protected HereMapView createViewInstance(ThemedReactContext reactContext) { | |
return new HereMapView(reactContext, mActivity); | |
//return new HereMapView(reactContext, mActivity); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.heremap.react.map; | |
import android.app.Activity; | |
import android.content.Intent; | |
import com.facebook.react.bridge.ReactApplicationContext; | |
import com.facebook.react.bridge.ReactContextBaseJavaModule; | |
import static com.heremap.react.map.HereMapManager.METHOD_NAME; | |
public class HereMapModule extends ReactContextBaseJavaModule { | |
public HereMapModule(ReactApplicationContext reactContext, Activity activity) { | |
super(reactContext); | |
// Intent intent = new Intent(reactContext, BasicMapActivity.class); | |
// reactContext.startActivity(intent); | |
} | |
@Override | |
public String getName() { | |
return METHOD_NAME; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.heremap.react.map; | |
import android.app.Activity; | |
import com.facebook.react.ReactPackage; | |
import com.facebook.react.bridge.NativeModule; | |
import com.facebook.react.bridge.ReactApplicationContext; | |
import com.facebook.react.uimanager.ViewManager; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class HereMapPackage implements ReactPackage { | |
private Activity mActivity; | |
public HereMapPackage(Activity activity) { | |
mActivity = activity; | |
} | |
@Override | |
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) { | |
List<ViewManager> modules = new ArrayList<>(); | |
System.out.println("Halloooo"); | |
modules.add(new HereMapManager(mActivity)); | |
return modules; | |
} | |
@Override | |
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) { | |
List<NativeModule> modules = new ArrayList<>(); | |
System.out.println("KUKUUU"); | |
modules.add(new HereMapModule(reactContext, mActivity)); | |
return modules; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.heremap.react.map; | |
import com.heremap.R; | |
import android.app.Activity; | |
import android.content.Context; | |
import android.util.Log; | |
import com.here.android.mpa.common.ApplicationContext; | |
import com.here.android.mpa.common.GeoCoordinate; | |
import com.here.android.mpa.common.MapEngine; | |
import com.here.android.mpa.mapping.Map; | |
import com.here.android.mpa.mapping.MapView; | |
import com.here.android.mpa.mapping.MapFragment; | |
import com.here.android.mpa.common.OnEngineInitListener; | |
public class HereMapView extends MapView { | |
private static final String TAG = HereMapView.class.getSimpleName(); | |
private static final String MAP_TYPE_NORMAL = "normal"; | |
private static final String MAP_TYPE_SATELLITE = "satellite"; | |
private GeoCoordinate mapCenter; | |
private String mapType = "normal"; | |
private boolean mapIsReady = false; | |
private double zoomLevel = 15; | |
private Map m_map = null; | |
private Activity mActivity; | |
private Context mContext; | |
private MapFragment m_mapFragment; | |
private Map map = null; | |
// map fragment embedded in this activity | |
private MapFragment mapFragment = null; | |
public HereMapView(Context context, Activity activity) { | |
super(context); | |
mContext = context; | |
mActivity = activity; | |
//new BasicMapActivity(mActivity); | |
Log.d("sd", "======================= ZOO22222M " + activity ); | |
i(context); | |
} | |
public void i(Context appContext) { | |
Log.d("sd", "======================= Call " ); | |
final MapEngine mapEngine = MapEngine.getInstance(); | |
ApplicationContext _appContext = new ApplicationContext(appContext); | |
mapEngine.init(_appContext, new OnEngineInitListener() { | |
@Override | |
public void onEngineInitializationCompleted(Error error) { | |
if (error == OnEngineInitListener.Error.NONE) { | |
m_map = new Map(); | |
// Set the map center to the Vancouver region (no animation) | |
m_map.setCenter(new GeoCoordinate(49.196261, -123.004773, 0.0), | |
Map.Animation.NONE); | |
// Set the zoom level to the average between min and max | |
m_map.setZoomLevel( | |
(m_map.getMaxZoomLevel() + m_map.getMinZoomLevel()) / 2); | |
setMap(m_map); | |
} else { | |
Log.d("Err", "ERORRRRRRRR ==================" ); | |
} | |
} | |
}); | |
} | |
private void initMapFragment() { | |
MapEngine mapEngine = MapEngine.getInstance(); | |
ApplicationContext appContext = new ApplicationContext(getContext()); | |
mapEngine.init(appContext, new OnEngineInitListener() { | |
@Override | |
public void onEngineInitializationCompleted(Error error) { | |
if (error == OnEngineInitListener.Error.NONE) { | |
m_map = new Map(); | |
// Set the map center to the Vancouver region (no animation) | |
m_map.setCenter(new GeoCoordinate(49.196261, -123.004773, 0.0), | |
Map.Animation.NONE); | |
// Set the zoom level to the average between min and max | |
m_map.setZoomLevel( | |
(m_map.getMaxZoomLevel() + m_map.getMinZoomLevel()) / 2); | |
setMap(m_map); | |
} else { | |
Log.d("Err", "ERORRRRRRRR ==================" ); | |
} | |
} | |
}); | |
} | |
@Override | |
public void onResume() { | |
super.onResume(); | |
MapEngine.getInstance().onResume(); | |
} | |
@Override | |
public void onPause() { | |
MapEngine.getInstance().onPause(); | |
super.onPause(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.heremap; | |
import android.os.Bundle; | |
import com.facebook.react.ReactActivity; | |
import com.facebook.react.ReactInstanceManager; | |
import com.facebook.react.ReactRootView; | |
import com.facebook.react.common.LifecycleState; | |
import com.facebook.react.shell.MainReactPackage; | |
import com.heremap.react.map.HereMapPackage; | |
public class MainActivity extends ReactActivity { | |
/** | |
* Returns the name of the main component registered from JavaScript. | |
* This is used to schedule rendering of the component. | |
*/ | |
private ReactRootView mReactRootView; | |
private ReactInstanceManager mReactInstanceManager; | |
// @Override | |
// protected String getMainComponentName() { | |
// return "hereMap"; | |
// } | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
mReactRootView = new ReactRootView(this); | |
mReactInstanceManager = ReactInstanceManager.builder() | |
.setApplication(getApplication()) | |
.setBundleAssetName("index.android.bundle") | |
.setJSMainModulePath("index") | |
.addPackage(new MainReactPackage()) | |
.addPackage(new HereMapPackage(this)) | |
.setUseDeveloperSupport(BuildConfig.DEBUG) | |
.setInitialLifecycleState(LifecycleState.RESUMED) | |
.build(); | |
mReactRootView.startReactApplication(mReactInstanceManager, "hereMap", null); | |
setContentView(mReactRootView); | |
} | |
} | |
package com.heremap; | |
import android.app.Application; | |
import com.facebook.react.ReactApplication; | |
import com.facebook.react.ReactNativeHost; | |
import com.facebook.react.ReactPackage; | |
import com.facebook.react.shell.MainReactPackage; | |
import com.facebook.soloader.SoLoader; | |
import com.heremap.react.map.HereMapPackage; | |
import java.util.Arrays; | |
import java.util.List; | |
public class MainApplication extends Application implements ReactApplication { | |
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { | |
@Override | |
public boolean getUseDeveloperSupport() { | |
return BuildConfig.DEBUG; | |
} | |
@Override | |
protected List<ReactPackage> getPackages() { | |
return Arrays.<ReactPackage>asList( | |
// new MainReactPackage(), | |
// new HereMapPackage(new MainActivity()) | |
); | |
} | |
@Override | |
protected String getJSMainModuleName() { | |
return "index"; | |
} | |
}; | |
@Override | |
public ReactNativeHost getReactNativeHost() { | |
return mReactNativeHost; | |
} | |
@Override | |
public void onCreate() { | |
super.onCreate(); | |
SoLoader.init(this, /* native exopackage */ false); | |
} | |
} | |
package com.heremap; | |
import android.os.Bundle; | |
import com.facebook.react.ReactActivity; | |
import com.facebook.react.ReactInstanceManager; | |
import com.facebook.react.ReactRootView; | |
import com.facebook.react.common.LifecycleState; | |
import com.facebook.react.shell.MainReactPackage; | |
import com.heremap.react.map.HereMapPackage; | |
public class MainActivity extends ReactActivity { | |
/** | |
* Returns the name of the main component registered from JavaScript. | |
* This is used to schedule rendering of the component. | |
*/ | |
private ReactRootView mReactRootView; | |
private ReactInstanceManager mReactInstanceManager; | |
// @Override | |
// protected String getMainComponentName() { | |
// return "hereMap"; | |
// } | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
mReactRootView = new ReactRootView(this); | |
mReactInstanceManager = ReactInstanceManager.builder() | |
.setApplication(getApplication()) | |
.setBundleAssetName("index.android.bundle") | |
.setJSMainModulePath("index") | |
.addPackage(new MainReactPackage()) | |
.addPackage(new HereMapPackage(this)) | |
.setUseDeveloperSupport(BuildConfig.DEBUG) | |
.setInitialLifecycleState(LifecycleState.RESUMED) | |
.build(); | |
mReactRootView.startReactApplication(mReactInstanceManager, "hereMap", null); | |
setContentView(mReactRootView); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.heremap; | |
import android.app.Application; | |
import com.facebook.react.ReactApplication; | |
import com.facebook.react.ReactNativeHost; | |
import com.facebook.react.ReactPackage; | |
import com.facebook.react.shell.MainReactPackage; | |
import com.facebook.soloader.SoLoader; | |
import com.heremap.react.map.HereMapPackage; | |
import java.util.Arrays; | |
import java.util.List; | |
public class MainApplication extends Application implements ReactApplication { | |
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { | |
@Override | |
public boolean getUseDeveloperSupport() { | |
return BuildConfig.DEBUG; | |
} | |
@Override | |
protected List<ReactPackage> getPackages() { | |
return Arrays.<ReactPackage>asList( | |
// new MainReactPackage(), | |
// new HereMapPackage(new MainActivity()) | |
); | |
} | |
@Override | |
protected String getJSMainModuleName() { | |
return "index"; | |
} | |
}; | |
@Override | |
public ReactNativeHost getReactNativeHost() { | |
return mReactNativeHost; | |
} | |
@Override | |
public void onCreate() { | |
super.onCreate(); | |
SoLoader.init(this, /* native exopackage */ false); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment