Showing posts with label maps. Show all posts
Showing posts with label maps. Show all posts

Friday, July 15, 2016

Open Signal Maps Open Signal Maps for Android


 
The best toolkit for improving your cellular and wifi signal.

- Signal direction
- Signal graph
- Map and radar views of cell towers & WiFi routers
- Detailed signal strength data
- Save data to SD card
- Widget (in beta!)
- Save wifi access points and maps of their locations by running the speed test
- History of signal readings

The simplest tactic to improve your reception is to walk in the direction of your signal. Not foolproof, but worth a shot!

Option to contribute to the OpenSignalMaps.com project: were TRUE coverage maps of cell phone networks & wifi data points freely available to all.

Problems? Email us!

Tips:
- Click the wifi-cells toggle button on the bottom left to see wifi routers
- Use wifi and GPS for best speed and accuracy
- Verizon & Sprint users will see only one connected tower at a time
- Not all towers and wireless routers are in our database. Sorry!
- Moving in the direction of your cell tower will not always improve reception due to interference effects and local geography.
- Data is mainly crowd sourced - wireless and antenna locations are calculated by triangulation. This means they are not exact, and sometimes they may be way off. As more people use this app the data will improve.
- Click on the "i" on the overview screen to see more signal stats - including signal RSSI in ASU and dBm

Advanced notes:
- For GSM, cell tower are identified via cell id and location area code (CID and LAC)
- For CDMA, cell towers are identified via Network ID, Base sub-station ID and system ID (NID, BSSID and SID)
- See our website opensignalmaps.com for more detail on using the app and please add your requests for developments.


Were building trustworthy and comprehensive coverage maps for GSM, CDMA; for 2G, 3G & 4G. We think this is the best signal tool you can find, let us know if you think anything is missing.

Networks were mapping: Orange, Vodafone, O2, 3, AT&T, Sprint, Verizon, Movistar, Claro. And over a hundred others.

(key words: opensignalmaps, opensignalmap, opensignal)

Recent changes Open Signal Maps for Android:
We restyled the menus!

We got rid of Turbo mode because people were confused about what it did, and to be honest so were we. We replaced it with "maximum background data collection" this will turn your GPS on suck your battery, but it will collect a lot of data! To stop you leaving it on by mistake it turns on a notification in the top bar.

We added a button to report femtocells as well, thanks to everyone who has been in touch about this.

Open Signal Maps for Android

 
Read More..

Sunday, April 6, 2014

Google Maps Android API v2 example detect user touch on GoogleMap and animate to the clicked location

Modify from last eample "Set map type of GoogleMap" to detect user click on GoogleMap, and animate to the user clicked location.

Google Maps Android API v2 example: detect user touch on GoogleMap and animate to the clicked location


To detect user click event on GoogleMap, modify the FragmentActivity implements OnMapClickListener, override onMapClick(LatLng point), and call myMap.setOnMapClickListener(this).

To animated to a specified location, create a new CameraUpdate by calling CameraUpdateFactory.newLatLng(point) method with the specified location. And then call myMap.animateCamera(...) to start animation to the specified location.

package com.example.androidmapsv2;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
import com.google.android.gms.maps.model.LatLng;

import android.app.AlertDialog;
import android.location.Location;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends FragmentActivity implements OnMapClickListener{

final int RQS_GooglePlayServices = 1;
private GoogleMap myMap;

Location myLocation;
TextView tvLocInfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tvLocInfo = (TextView)findViewById(R.id.locinfo);

FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment mySupportMapFragment
= (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
myMap = mySupportMapFragment.getMap();

myMap.setMyLocationEnabled(true);

myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
//myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
//myMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
//myMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);

myMap.setOnMapClickListener(this);


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_legalnotices:
String LicenseInfo = GooglePlayServicesUtil.getOpenSourceSoftwareLicenseInfo(
getApplicationContext());
AlertDialog.Builder LicenseDialog = new AlertDialog.Builder(MainActivity.this);
LicenseDialog.setTitle("Legal Notices");
LicenseDialog.setMessage(LicenseInfo);
LicenseDialog.show();
return true;
}
return super.onOptionsItemSelected(item);
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();

int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());

if (resultCode == ConnectionResult.SUCCESS){
Toast.makeText(getApplicationContext(),
"isGooglePlayServicesAvailable SUCCESS",
Toast.LENGTH_LONG).show();
}else{
GooglePlayServicesUtil.getErrorDialog(resultCode, this, RQS_GooglePlayServices);
}

}

@Override
public void onMapClick(LatLng point) {
tvLocInfo.setText(point.toString());
myMap.animateCamera(CameraUpdateFactory.newLatLng(point));
}

}


Modify layout file to add a TextView to display the clicked location.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<TextView
android:id="@+id/locinfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>

</LinearLayout>


download filesDownload the files.

Next:
- Detect long click on map and add marker


The series:
A simple example using Google Maps Android API v2, step by step.

Read More..

Wednesday, April 2, 2014

Generate Debug API Key for Google Maps Android API v2 service

The previous post explain how to "Create and Obtain API Key for Google Maps Android API v2 service". In my trial experience, you need a debug API Key, for your testing. Means you test on your device connected with PC and download from Eclipse.

To generate debug API key, repeat the steps in the post  "Create and Obtain API Key for Google Maps Android API v2 service", with debug certificate fingerprint (described in the post "Displaying the SHA1 certificate fingerprint") instead of release certificate fingerprint. The output should be like this:

Debug API Key for Google Maps Android API v2 service

In my test, both API Key (Key for Android apps (with certificates) and Key for browser apps (with referers)) can display map.


The series:
A simple example using Google Maps Android API v2, step by step.

Read More..