How can I draw multiple circles and rectangles on a map?
up vote
-1
down vote
favorite
For a project in my university, I need to show in a map all the intersections and stations of the divvyBikes system in Chicago, I already have LinkedLists with the data and I need to draw Circles with the position of the intersections and rectangles with the position of the stations. I'm using jxMaps library and based on the examples I was able to draw one circle and one rectangle testing the metods according with the examples provided by the developers, but if I try to draw multiple with a loop when I open the map, it stays in grey.
This is my code:
public class Draw extends MapView
private static final long serialVersionUID = 1L;
Map map;
IList <Integer, Intersetion> intersections;
IList <Integer, Station> stations;
public Draw(MapViewOptions options, IList <Integer, Intersection> inter, IList <Integer, Station> est)
super(options);
// Setting of a ready handler to MapView object. onMapReady will be called when map initialization is done and
// the map object is ready to use. Current implementation of onMapReady customizes the map object.
setOnMapReadyHandler(new MapReadyHandler()
@Override
public void onMapReady(MapStatus status)
// Check if the map is loaded correctly
if (status == MapStatus.MAP_STATUS_OK)
map = getMap();
intersections = inter; // I Load the list with the intersections data
stations = est; // I load the list with the stations data
rectangle();
circle();
// Creating a map options object
MapOptions mapOptions = new MapOptions();
// Creating a map type control options object
MapTypeControlOptions controlOptions = new MapTypeControlOptions();
// Changing position of the map type control
controlOptions.setPosition(ControlPosition.TOP_RIGHT);
// Setting map type control options
mapOptions.setMapTypeControlOptions(controlOptions);
// Setting map options
map.setOptions(mapOptions);
// Setting the map center
map.setCenter(new LatLng(41.875486, -87.626570));
// Setting initial zoom value
map.setZoom(9.0);
);
public void circle ()
CircleOptions options = new CircleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.RED.toString());
options.setStrokeWeight(5.0);
for (Intersetion inter: intersections)
Circle circle = new Circle(map);
circle.setCenter(new LatLng(inter.darLatitude(), inter.darLongitude()));
circle.setRadius(50);
circle.setOptions(options);
public void rectangle()
RectangleOptions options = new RectangleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.BLUE.toString());
int i = 0;
for (Station rect: stations)
Rectangle rectangulo = new Rectangle (map);
LatLngBounds bounds = new LatLngBounds (new LatLng (rect.darLatitude() - 0.0004, rect.darLongitude() - 0.0006), new LatLng (rect.darLatitude() + 0.0004, rect.darLongitude() + 0.0006));
rectangle.setBounds(bounds);
rectangle.setOptions(optionts);
java google-maps jxmaps
add a comment |
up vote
-1
down vote
favorite
For a project in my university, I need to show in a map all the intersections and stations of the divvyBikes system in Chicago, I already have LinkedLists with the data and I need to draw Circles with the position of the intersections and rectangles with the position of the stations. I'm using jxMaps library and based on the examples I was able to draw one circle and one rectangle testing the metods according with the examples provided by the developers, but if I try to draw multiple with a loop when I open the map, it stays in grey.
This is my code:
public class Draw extends MapView
private static final long serialVersionUID = 1L;
Map map;
IList <Integer, Intersetion> intersections;
IList <Integer, Station> stations;
public Draw(MapViewOptions options, IList <Integer, Intersection> inter, IList <Integer, Station> est)
super(options);
// Setting of a ready handler to MapView object. onMapReady will be called when map initialization is done and
// the map object is ready to use. Current implementation of onMapReady customizes the map object.
setOnMapReadyHandler(new MapReadyHandler()
@Override
public void onMapReady(MapStatus status)
// Check if the map is loaded correctly
if (status == MapStatus.MAP_STATUS_OK)
map = getMap();
intersections = inter; // I Load the list with the intersections data
stations = est; // I load the list with the stations data
rectangle();
circle();
// Creating a map options object
MapOptions mapOptions = new MapOptions();
// Creating a map type control options object
MapTypeControlOptions controlOptions = new MapTypeControlOptions();
// Changing position of the map type control
controlOptions.setPosition(ControlPosition.TOP_RIGHT);
// Setting map type control options
mapOptions.setMapTypeControlOptions(controlOptions);
// Setting map options
map.setOptions(mapOptions);
// Setting the map center
map.setCenter(new LatLng(41.875486, -87.626570));
// Setting initial zoom value
map.setZoom(9.0);
);
public void circle ()
CircleOptions options = new CircleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.RED.toString());
options.setStrokeWeight(5.0);
for (Intersetion inter: intersections)
Circle circle = new Circle(map);
circle.setCenter(new LatLng(inter.darLatitude(), inter.darLongitude()));
circle.setRadius(50);
circle.setOptions(options);
public void rectangle()
RectangleOptions options = new RectangleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.BLUE.toString());
int i = 0;
for (Station rect: stations)
Rectangle rectangulo = new Rectangle (map);
LatLngBounds bounds = new LatLngBounds (new LatLng (rect.darLatitude() - 0.0004, rect.darLongitude() - 0.0006), new LatLng (rect.darLatitude() + 0.0004, rect.darLongitude() + 0.0006));
rectangle.setBounds(bounds);
rectangle.setOptions(optionts);
java google-maps jxmaps
add a comment |
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
For a project in my university, I need to show in a map all the intersections and stations of the divvyBikes system in Chicago, I already have LinkedLists with the data and I need to draw Circles with the position of the intersections and rectangles with the position of the stations. I'm using jxMaps library and based on the examples I was able to draw one circle and one rectangle testing the metods according with the examples provided by the developers, but if I try to draw multiple with a loop when I open the map, it stays in grey.
This is my code:
public class Draw extends MapView
private static final long serialVersionUID = 1L;
Map map;
IList <Integer, Intersetion> intersections;
IList <Integer, Station> stations;
public Draw(MapViewOptions options, IList <Integer, Intersection> inter, IList <Integer, Station> est)
super(options);
// Setting of a ready handler to MapView object. onMapReady will be called when map initialization is done and
// the map object is ready to use. Current implementation of onMapReady customizes the map object.
setOnMapReadyHandler(new MapReadyHandler()
@Override
public void onMapReady(MapStatus status)
// Check if the map is loaded correctly
if (status == MapStatus.MAP_STATUS_OK)
map = getMap();
intersections = inter; // I Load the list with the intersections data
stations = est; // I load the list with the stations data
rectangle();
circle();
// Creating a map options object
MapOptions mapOptions = new MapOptions();
// Creating a map type control options object
MapTypeControlOptions controlOptions = new MapTypeControlOptions();
// Changing position of the map type control
controlOptions.setPosition(ControlPosition.TOP_RIGHT);
// Setting map type control options
mapOptions.setMapTypeControlOptions(controlOptions);
// Setting map options
map.setOptions(mapOptions);
// Setting the map center
map.setCenter(new LatLng(41.875486, -87.626570));
// Setting initial zoom value
map.setZoom(9.0);
);
public void circle ()
CircleOptions options = new CircleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.RED.toString());
options.setStrokeWeight(5.0);
for (Intersetion inter: intersections)
Circle circle = new Circle(map);
circle.setCenter(new LatLng(inter.darLatitude(), inter.darLongitude()));
circle.setRadius(50);
circle.setOptions(options);
public void rectangle()
RectangleOptions options = new RectangleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.BLUE.toString());
int i = 0;
for (Station rect: stations)
Rectangle rectangulo = new Rectangle (map);
LatLngBounds bounds = new LatLngBounds (new LatLng (rect.darLatitude() - 0.0004, rect.darLongitude() - 0.0006), new LatLng (rect.darLatitude() + 0.0004, rect.darLongitude() + 0.0006));
rectangle.setBounds(bounds);
rectangle.setOptions(optionts);
java google-maps jxmaps
For a project in my university, I need to show in a map all the intersections and stations of the divvyBikes system in Chicago, I already have LinkedLists with the data and I need to draw Circles with the position of the intersections and rectangles with the position of the stations. I'm using jxMaps library and based on the examples I was able to draw one circle and one rectangle testing the metods according with the examples provided by the developers, but if I try to draw multiple with a loop when I open the map, it stays in grey.
This is my code:
public class Draw extends MapView
private static final long serialVersionUID = 1L;
Map map;
IList <Integer, Intersetion> intersections;
IList <Integer, Station> stations;
public Draw(MapViewOptions options, IList <Integer, Intersection> inter, IList <Integer, Station> est)
super(options);
// Setting of a ready handler to MapView object. onMapReady will be called when map initialization is done and
// the map object is ready to use. Current implementation of onMapReady customizes the map object.
setOnMapReadyHandler(new MapReadyHandler()
@Override
public void onMapReady(MapStatus status)
// Check if the map is loaded correctly
if (status == MapStatus.MAP_STATUS_OK)
map = getMap();
intersections = inter; // I Load the list with the intersections data
stations = est; // I load the list with the stations data
rectangle();
circle();
// Creating a map options object
MapOptions mapOptions = new MapOptions();
// Creating a map type control options object
MapTypeControlOptions controlOptions = new MapTypeControlOptions();
// Changing position of the map type control
controlOptions.setPosition(ControlPosition.TOP_RIGHT);
// Setting map type control options
mapOptions.setMapTypeControlOptions(controlOptions);
// Setting map options
map.setOptions(mapOptions);
// Setting the map center
map.setCenter(new LatLng(41.875486, -87.626570));
// Setting initial zoom value
map.setZoom(9.0);
);
public void circle ()
CircleOptions options = new CircleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.RED.toString());
options.setStrokeWeight(5.0);
for (Intersetion inter: intersections)
Circle circle = new Circle(map);
circle.setCenter(new LatLng(inter.darLatitude(), inter.darLongitude()));
circle.setRadius(50);
circle.setOptions(options);
public void rectangle()
RectangleOptions options = new RectangleOptions();
options.setFillOpacity(0);
options.setStrokeColor(Color.BLUE.toString());
int i = 0;
for (Station rect: stations)
Rectangle rectangulo = new Rectangle (map);
LatLngBounds bounds = new LatLngBounds (new LatLng (rect.darLatitude() - 0.0004, rect.darLongitude() - 0.0006), new LatLng (rect.darLatitude() + 0.0004, rect.darLongitude() + 0.0006));
rectangle.setBounds(bounds);
rectangle.setOptions(optionts);
java google-maps jxmaps
java google-maps jxmaps
edited Nov 11 at 12:53
asked Nov 11 at 5:47
Juan Jose Torres
12
12
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
I've analyzed the provided source code and it looks ok, except of a place where you set the stroke color. You have to use colors in the HTML format, so you have to change:
options.setStrokeColor(Color.RED.toString()); to options.setStrokeColor("#FF0000");
However, it cannot be the reason for the gray screen. The gray screen usually happens when something went wrong while setting map attributes (inside onMapReady() handler
).
So you have to check if any exception happened and, if yes, then fix the root cause of it.
Also, you can enable logging and check if it has any errors. You can do it by adding the -Djxmaps.logging.level=ALL
parameter to the VM options of your application.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
I've analyzed the provided source code and it looks ok, except of a place where you set the stroke color. You have to use colors in the HTML format, so you have to change:
options.setStrokeColor(Color.RED.toString()); to options.setStrokeColor("#FF0000");
However, it cannot be the reason for the gray screen. The gray screen usually happens when something went wrong while setting map attributes (inside onMapReady() handler
).
So you have to check if any exception happened and, if yes, then fix the root cause of it.
Also, you can enable logging and check if it has any errors. You can do it by adding the -Djxmaps.logging.level=ALL
parameter to the VM options of your application.
add a comment |
up vote
1
down vote
I've analyzed the provided source code and it looks ok, except of a place where you set the stroke color. You have to use colors in the HTML format, so you have to change:
options.setStrokeColor(Color.RED.toString()); to options.setStrokeColor("#FF0000");
However, it cannot be the reason for the gray screen. The gray screen usually happens when something went wrong while setting map attributes (inside onMapReady() handler
).
So you have to check if any exception happened and, if yes, then fix the root cause of it.
Also, you can enable logging and check if it has any errors. You can do it by adding the -Djxmaps.logging.level=ALL
parameter to the VM options of your application.
add a comment |
up vote
1
down vote
up vote
1
down vote
I've analyzed the provided source code and it looks ok, except of a place where you set the stroke color. You have to use colors in the HTML format, so you have to change:
options.setStrokeColor(Color.RED.toString()); to options.setStrokeColor("#FF0000");
However, it cannot be the reason for the gray screen. The gray screen usually happens when something went wrong while setting map attributes (inside onMapReady() handler
).
So you have to check if any exception happened and, if yes, then fix the root cause of it.
Also, you can enable logging and check if it has any errors. You can do it by adding the -Djxmaps.logging.level=ALL
parameter to the VM options of your application.
I've analyzed the provided source code and it looks ok, except of a place where you set the stroke color. You have to use colors in the HTML format, so you have to change:
options.setStrokeColor(Color.RED.toString()); to options.setStrokeColor("#FF0000");
However, it cannot be the reason for the gray screen. The gray screen usually happens when something went wrong while setting map attributes (inside onMapReady() handler
).
So you have to check if any exception happened and, if yes, then fix the root cause of it.
Also, you can enable logging and check if it has any errors. You can do it by adding the -Djxmaps.logging.level=ALL
parameter to the VM options of your application.
answered Nov 12 at 13:21
Serhii Fedchenko
362
362
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246186%2fhow-can-i-draw-multiple-circles-and-rectangles-on-a-map%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown