It's not clear which result you want. Do you want the line width to remain the same regardless of the zoom or do you want the line to be same width as the roads that the map view draws regardless of zoom level?
To keep the line width somewhat constant no matter what, try dividing by zoomScale:
CGContextSetLineWidth(context, (30/zoomScale));
To keep the line the same width as the roads, use MKRoadWidthAtZoomScale:
CGContextSetLineWidth(context, MKRoadWidthAtZoomScale(zoomScale));
You could also apply an additional scaling to the road width if you wanted:
CGContextSetLineWidth(context, 1.5*MKRoadWidthAtZoomScale(zoomScale));
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…