catchthecows / AndroidImageMap

An HTML map like widget in an Android view
199 stars 74 forks source link

Draw a line #17

Open whowazit opened 9 years ago

whowazit commented 9 years ago

How to draw a line based on the coordinates in the map.xml?

mohshaat1990 commented 9 years ago

on class poly area there is comment ondraw function @Override public void onDraw(Canvas canvas) { // draw the bounding box /* canvas.drawRect(left * mResizeFactorX + mScrollLeft, top * mResizeFactorY + mScrollTop, right * mResizeFactorX + mScrollLeft, bottom * mResizeFactorY + mScrollTop, textOutlinePaint);*/

i used this function to draw polygon based on coordinates in map.xml Paint paint = new Paint(); paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(4); paint.setColor(Color.RED); Path p = new Path(); /* p.moveTo(left * mResizeFactorX + mScrollLeft, top * mResizeFactorY + mScrollTop); p.lineTo(left * mResizeFactorX + mScrollLeft, top * mResizeFactorY + mScrollTop); p.lineTo(right * mResizeFactorX + mScrollLeft, top* mResizeFactorY + mScrollTop);/ p.moveTo(xpoints.get(0) * mResizeFactorX + mScrollLeft, ypoints.get(0) * mResizeFactorY + mScrollTop); for(int a=0;a<xpoints.size();a++) p.lineTo(xpoints.get(a) mResizeFactorX + mScrollLeft, ypoints.get(a) * mResizeFactorY + mScrollTop); /* p.moveTo(xpoints.get(0) * mResizeFactorX + mScrollLeft, ypoints.get(0) * mResizeFactorY + mScrollTop); p.lineTo(xpoints.get(0)* mResizeFactorX + mScrollLeft, ypoints.get(0) * mResizeFactorY + mScrollTop); p.lineTo(xpoints.get(1) * mResizeFactorX + mScrollLeft, ypoints.get(1) * mResizeFactorY + mScrollTop); p.lineTo(xpoints.get(2) * mResizeFactorX + mScrollLeft, ypoints.get(2) * mResizeFactorY + mScrollTop);*/ p.close(); // p.lineTo(200, 100); // p.lineTo(240, 155); // p.lineTo(250, 175); // p.lineTo(20, 20); canvas.drawPath(p, paint);